如果在WordPress后台主题编辑中修改模板php文件,点击更新文件时提示“未能与站点联系来检查致命错误,因此PHP修改已被回滚。您需要采用其他方式(如SFTP)上传您修改的PHP文件”。
这个错误提示是 WordPress 4.9 之后添加的功能,检查 WP 文件编辑器中是否有PHP错误,以防止网站因修改模板文件而崩溃。

有人说是WP的BUG,也有人说和服务器主机环境配置有关,也有人说是主题中有不规范的代码或者是某些插件会影响编辑模板,众说不一,不管了。
如果不准备通过FTP替换修改模板文件,可以通过修改WordPress程序文件,删除这个代码检查功能。
以WP5.4为例,打开wp-admin/includes/file.php程序文件,删除505-616行的如下代码:
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 );
}
}本站除原创内容,其余内容均收集自互联网,仅限用于学习和研究目的,本站不对其内容的合法性、可用性承担任何责任。本站禁止以任何形式发布或转载任何违法相关信息,若您发现请立即向站长举报;用户投稿一切资源内容不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
如有版权内容,其版权均归原作者所有,本站虽力求保存原有版权信息,但因众多资源经多次转载,已无法确定其真实来源,故敬请原作者谅解!为尊重作者劳动成果,请购买正版支持作者,谢谢!若您对「HULIKU.COM」所载资源作品版权归属存有异议,请发送邮箱:ihuliku@qq.com 进行处理。
本站资源文件大多存储至云盘,如您发现图片或链接失效,请联系站长或作者,我们将及时进行更新。资源都是经过站长或作者收集测试优化后进行发布分享。如若转载请在贵站文内以超链形式注明狐狸库文章出处,谢谢合作!













![WordPress子比主题美化教程合集[2023/04/17]-狐狸库](https://huliku.com/pic/2023032607024935.png)
![狐狸库自定义子比主题底部footer页脚美化(自适应)[06.26]更新-狐狸库](https://huliku.com/pic/2023062610013835.png)























请登录后查看评论内容