【发布时间】:2019-11-06 19:02:25
【问题描述】:
我一直在开发一个多年没有任何更新的 Wordpress 网站,并为主题更改做准备。
在更新所有插件/Wordpress 5.2/PHP 7.2 后,一切似乎都很顺利,但是该网站一直在经历间歇性崩溃(它会运行一段时间,然后会崩溃 5-10 分钟)[编辑:网站崩溃是回想起来可能不是由 php.ini 问题直接引起的]
查看错误日志中的 cpanel 我得到了错误:
PHP: syntax error, unexpected TC_LABEL, expecting '=' in /home/website/public_html/php.ini on line 1 //sometimes it includes a referer
运行php -i | grep php.ini:
Configuration File (php.ini) Path => /opt/imh/imh-php72/root/usr/lib/php
Loaded Configuration File => /opt/imh/imh-php72/root/usr/lib/php/php.ini
php.ini(在public_html中)多次包含相同的重复路径(根据我的查找和替换为78,886次):
/opt/imh/imh-php72/root/usr/lib/php/extensions/no-debug-non-zts-20170718
第 1 行:
/opt/imh/imh-php72/root/usr/lib/php/extensions/no-debug-non-zts-20170718[/opt/imh/imh-php72/root/usr/lib/php/extensions/no-debug-non-zts-20170718P/opt/imh/imh-php72/root/usr/lib/php/extensions/no-debug-non-zts-20170718H/opt/imh/imh-php72/root/usr/lib/php/extensions/no-debug-non-zts-20170718P/opt/imh/imh-php72/root/usr/lib/php/extensions/no-debug-non-zts-20170718]/opt/imh/imh-php72/root/usr/lib/php/extensions/no-debug-non-zts-20170718
我注意到20170718 之后有时会有一个额外的字符。我下载了一个本地副本并进行了查找和替换并删除了路径的所有实例,剩下的是一个“正常”的 php.ini(即好像文件中的每个 character 都被替换为 path + character)
[编辑:将 public_html php.ini 更改为 php.ini_bk 会从 cpanel 日志中删除错误]
个人 PS:请注意我不是 PHP 也不是 Wordpress 开发人员(通常我在 MERN 堆栈中工作)
【问题讨论】:
-
备份后更新你的插件和主题。然后重命名文件 /home/website/public_html/php.ini 并测试是否仍然是同样的问题
-
所有插件都已经完全更新,主题也是最新版本
-
您的 php.ini 永远不能被运行 Web 服务器的进程写入,并且不应位于(或位于)Web 服务器的文档根目录中。如果您的 PHP 代码可以更改 php.ini 的内容,那么您有一个严重的安全问题。
-
只需将 php.ini 重命名为 php.ini_bk 文件然后检查
-
PHP:语法错误,意外的 TC_LABEL,在第 1 行的 /home/website/public_html/php.ini 中期待 '=' //有时它包含引用者...错误在 public_html root 中。检查它是否没有隐藏