WordPress 网站å�Žå�°æ— 法修改php文件,æ��示Scrape key check failed. Please try again.
é€šè¿‡å¯¹ç½‘ä¸Šç›¸å…³èµ„æ–™çš„ç ”ç©¶ï¼Œå�‘现少数IDC厂家的虚拟主机在使用wordpress4.9以上版本wordpress的时候,有å�¯èƒ½å‡ºçŽ°ç¼–è¾‘phpæ–‡ä»¶æ— æ³•ä¿�å˜ï¼Œæ��示Scrape key check failed. Please try again .的情况,
目�没有很好的解决办法,暂时找到的一�解决办法是:
è¿›wordpressç½‘ç«™æ ¹ç›®å½•ï¼Œæ‰¾åˆ°wp-admin/includes/file.php
下载到本地,找下以下两行代ç �ä¸é—´çš„部分:大约从522行到641行,
开头  if ( $is_active && 'php' === $extension ) {
结尾 return new WP_Error( 'php_error', $message, $result );
å°†å…¶åˆ é™¤å�³å�¯è§£å†³é—®é¢˜ï¼Œ
-
if ( $is_active && 'php' === $extension ) {$scrape_key = md5( rand() );$transient = 'scrape_key_' . $scrape_key;$scrape_nonce = strval( rand() );// It shouldn't take more than 60 seconds to make the two loopback requests.set_transient( $transient, $scrape_nonce, 60 );$cookies = wp_unslash( $_COOKIE );$scrape_params = array('wp_scrape_key' => $scrape_key,'wp_scrape_nonce' => $scrape_nonce,);$headers = array('Cache-Control' => 'no-cache',);/** This filter is documented in wp-includes/class-wp-http-streams.php */$sslverify = apply_filters( 'https_local_ssl_verify', false );// Include Basic auth in loopback requests.if ( isset( $_SERVER['PHP_AUTH_USER'] ) && isset( $_SERVER['PHP_AUTH_PW'] ) ) {$headers['Authorization'] = 'Basic ' . base64_encode( wp_unslash($_SERVER['PHP_AUTH_USER'] ) . ':' . wp_unslash( $_SERVER['PHP_AUTH_PW'] ) );}// Make sure PHP process doesn't die before loopback requests complete.set_time_limit( 300 );// Time to wait for loopback requests to finish.$timeout = 100;$needle_start = "###### wp_scraping_result_start:$scrape_key ######";$needle_end = "###### wp_scraping_result_end:$scrape_key ######";// Attempt loopback request to editor to see if user just whitescreened themselves.if ( $plugin ) {$url = add_query_arg( compact( 'plugin', 'file' ), admin_url( 'plugin-editor.php' ) );} elseif ( isset( $stylesheet ) ) {$url = add_query_arg(array('theme' => $stylesheet,'file' => $file,),admin_url( 'theme-editor.php' ));} else {$url = admin_url();}$url = add_query_arg( $scrape_params, $url );$r = wp_remote_get( $url, compact( 'cookies', 'headers', 'timeout', 'sslverify' ) );$body = wp_remote_retrieve_body( $r );$scrape_result_position = strpos( $body, $needle_start );$loopback_request_failure = array('code' => 'loopback_request_failed','message' => __( 'Unable to communicate back with site to check for fatal errors, so the PHP change was reverted. You will need to upload your PHP file change by some other means, such as by using SFTP.' ),);$json_parse_failure = array('code' => 'json_parse_error',);$result = null;if ( false === $scrape_result_position ) {$result = $loopback_request_failure;} else {$error_output = substr( $body, $scrape_result_position + strlen( $needle_start ) );$error_output = substr( $error_output, 0, strpos( $error_output, $needle_end ) );$result = json_decode( trim( $error_output ), true );if ( empty( $result ) ) {$result = $json_parse_failure;}}// Try making request to homepage as well to see if visitors have been whitescreened.if ( true === $result ) {$url = home_url( '/' );$url = add_query_arg( $scrape_params, $url );$r = wp_remote_get( $url, compact( 'cookies', 'headers', 'timeout' ) );$body = wp_remote_retrieve_body( $r );$scrape_result_position = strpos( $body, $needle_start );if ( false === $scrape_result_position ) {$result = $loopback_request_failure;} else {$error_output = substr( $body, $scrape_result_position + strlen( $needle_start ) );$error_output = substr( $error_output, 0, strpos( $error_output, $needle_end ) );$result = json_decode( trim( $error_output ), true );if ( empty( $result ) ) {$result = $json_parse_failure;}}}delete_transient( $transient );if ( true !== $result ) {// Roll-back file change.file_put_contents( $real_file, $previous_content );if ( function_exists( 'opcache_invalidate' ) ) {opcache_invalidate( $real_file, true );}if ( ! isset( $result['message'] ) ) {$message = __( 'Something went wrong.' );} else {$message = $result['message'];unset( $result['message'] );}return new WP_Error( 'php_error', $message, $result );}}
转载请注明:⎛山滚网络⎞ » WordPress 网站å�Žå�°æ— 法修改php文件,æ��示Scrape key check failed. Please try again.

