您好,开发人员和问题解决者。我在更新WordPress网站中的header.php文件时遇到了问题。
首先,我尝试通过C-Panel-> File Manager手动更新文件。该代码似乎保留在文件中,但是当您以隐身模式和其他Web浏览器查看页面源代码时,该代码不会呈现。
这不是服务器问题,我已经联系了服务器支持团队,并且MySQL没有报告任何错误日志。
从我在Google上进行的一些搜索可以发现,似乎没有很多解决方案。
完全错误
由于无法与站点进行通信以检查致命错误,因此恢复了PHP更改。您将需要通过其他方式(例如,使用SFTP)上传PHP文件更改。
任何帮助都将不胜感激。
答案 0 :(得分:1)
此错误来自Wordpress 4.9中包含的Wordpress功能。在WP文件编辑器中上传文件时,它基本上检查PHP错误,以防止保存可能/将破坏您的网站的代码。
主要是一个插件(或服务器配置),可防止Wordpress环回检查正确检查更新引起的潜在错误。由于Wordpress无法检查您的新代码是否会产生错误,因此它会阻止代码更新。
检查那些链接:
您可以尝试禁用插件以查看该功能是否恢复正常,或者使用FTP / SFTP(无需Wordpress文件编辑器)更新文件。
答案 1 :(得分:1)
对我有用的是禁用所有插件,然后重新启用它们。这是由wordpress更新引起的。现在一切都按预期工作,但令人沮丧。
PS:使用批量停用操作。
答案 2 :(得分:1)
就我而言,我在cloudflare后面使用了一个wordpress安装。我的网站协议是HTTPS,因为我使用了cloudflare证书。但是,在服务器端,它是一个自签名证书。
我已经安装了一个让我们加密证书代替自签名证书的证书,然后它开始工作。之后,我可以将PHP文件保存在wordpress文件编辑器中。
在安装了名为“运行状况检查”的wordpress插件后,我看到错误是“ curl自签名证书”。
答案 3 :(得分:0)
现在,从技术上讲,这并不能解决当前问题。但是我刚刚添加了一个名为Insert Headers and Footers的WordPress插件,并且添加了标头脚本,该脚本可以成功运行。
答案 4 :(得分:0)
我遇到了类似的问题,我的wordpress版本是5.2.2。
“数据库浏览器”插件(未经我的WordPress版本测试)导致了此问题。通过停用该插件已修复。
因此,请检查“ 未经您的WordPress版本测试的”插件(从仪表板安装插件时可以看到-> plugins-> Add new),将其停用(如果不需要)并尝试使用“主题编辑器”更新文件。
答案 5 :(得分:0)
我参加聚会有点晚了,Mtxz的回答正确。但是,他们的解决方案不能“解决”问题。我发现this forum表示您可以通过删除wp-admin / includes / file.php文件中的第492-599行来解决此问题。
第一行是if ( $is_active && 'php' === $extension ) {
,第三最后一行是return new WP_Error( 'php_error', $message, $result );
,后跟两行括号。
这已在我的多台服务器上解决了该问题。
注意:此解决方案还删除了PHP调试功能,因此,如果您遇到语法错误,并且这样做,站点可能会崩溃,除非您通过SFTP / FTP进行操作,否则您将无法编辑文件。 。与往常一样,最好在编辑文件之前进行备份。
答案 6 :(得分:0)
Cloudflare也是我的问题。我有一个防火墙规则,限制了对wp-admin的访问,这阻止了我保存文件编辑。我必须添加防火墙规则以允许我的特定IP地址。
答案 7 :(得分:0)
我同意@nickdevyyc 的观点,对此没有技术解决方案。但是最好我们可以使用一些提供文件管理器的外部插件,我们可以在其中编辑每个文件。这是我找到的一个
https://wordpress.org/plugins/theme-editor/
这对我来说就像一个魅力,拯救了我的一天!