wordpress编辑器未更新文件:无法与站点通信以检查致命错误

7rfyedvj  于 2021-06-20  发布在  Mysql
关注(0)|答案(7)|浏览(626)

各位开发人员和问题解决者大家好。我在更新wordpress网站的header.php文件时遇到了一个问题。
首先,我尝试通过c面板->文件管理器手动更新文件。代码似乎保留在文件中,但当您以匿名模式查看页面源代码和不同的web浏览器时,代码不会呈现。
这不是服务器问题,我已经联系了服务器支持团队,mysql没有报告任何错误日志。
从我在google上做的一些搜索结果来看,似乎没有太多的解决方案。
完全错误
无法与站点通信以检查致命错误,因此php更改被还原。您将需要通过其他方式上传php文件更改,例如使用sftp。
任何帮助都将不胜感激。

sq1bmfud

sq1bmfud1#

从技术上讲,这并不能解决眼前的问题。但是我刚刚添加了一个名为insert headers and footers的wordpress插件,我添加了头脚本,它成功地工作了。

hjzp0vay

hjzp0vay2#

对我起作用的是禁用所有插件,然后重新启用它们。这是由wordpress更新引起的。现在一切都如期进行,但令人沮丧。。
ps:使用批量停用操作。

f5emj3cl

f5emj3cl3#

此错误来自WordPress4.9中包含的wordpress功能。在wp文件编辑器中上传文件时,它基本上检查php错误,以防止保存可能/将破坏站点的代码。
它主要是一个插件(或服务器配置),阻止wordpress环回检查,以正确地检查由更新引起的潜在错误。由于wordpress无法检查您的新代码是否会产生错误,它会阻止代码更新。
检查这些链接:
https://wpengine.com/support/php-editor-errors-wordpress-4-9-higher/
https://wordpress.org/support/topic/cant-edit-main-theme-php-files-after-upgrading-to-4-9/
你可以试着禁用你的插件,看看功能是否恢复,或者用ftp/sftp更新你的文件(没有wordpress文件编辑器)。

atmip9wb

atmip9wb4#

我来晚了一点,mtxz的回答是对的。然而,他们的解决方案并不能“解决”这个问题。我发现这个论坛说你可以通过删除wp admin/includes/file.php文件中的第492-599行来解决这个问题。
第一行是 if ( $is_active && 'php' === $extension ) { 最后一行是 return new WP_Error( 'php_error', $message, $result ); ,后面是两行括号。
这解决了我的几个服务器上的问题。
注意:这个解决方案还删除了php调试,所以如果你有语法错误,你这样做,你的网站可能崩溃,你不能编辑文件,除非你通过sftp/ftp。一如既往,最好在编辑文件之前进行备份。

roqulrg3

roqulrg35#

我有一个类似的问题,我的wordpress版本是5.2.2。
“数据库浏览器”插件,这是未经测试的我的版本的wordpress创建的问题。它是通过停用插件修复的。
因此,检查那些“未经wordpress版本测试”的插件(这可以在从 Jmeter 板->插件->添加新插件安装插件时看到),停用它们(如果不必要),并尝试使用“主题编辑器”更新文件。

6psbrbz9

6psbrbz96#

在我的例子中,我在cloudflare后面安装了wordpress。当我使用cloudflare证书时,我的网站协议是https。但是,在服务器端,它是一个自签名证书。
我已经安装了一个let's encrypt证书来代替自签名证书,然后它就工作了。之后,我可以在wordpress文件编辑器中保存php文件。
在安装了一个名为healthcheck的wordpress插件之后,我看到错误是“curl self-signed certificate”。

pdtvr36n

pdtvr36n7#

cloudflare也是我的问题。我有一个防火墙规则限制访问wp管理员,这是阻止我保存文件编辑。我不得不添加一个防火墙规则来允许我的特定ip地址。

相关问题