我有各种PHP文件,在应用程序运行之前没有修改过它们并且它们已经破坏了。我的问题是,由于某种原因,这些文件突然在整个文件中看似随机的地方突然出现“意外”方括号等PHP解析错误,但在手动检查文件时,语法是正确的。
我做过的唯一可以“改变”文件的是各种chmod操作来更改权限。但是如何/为什么会改变文件的实际内容?
文件在启动时被调用,就像它们一直一样,并且在过去一直运行良好,直到最近的chmod更改。
这是永久性的,还是我只需要从较早的时间恢复我的系统?
RHEL 6.5,PHP 5.4。
编辑:
错误示例:
PHP Parse error: syntax error, unexpected '[' in /var/ptc/CRM-dev/tools/init on line 122
第122行:
$files = [];
另一个例子:
PHP Parse error: syntax error, unexpected '[', expecting ')' in /var/ptc/CRM-dev/vendor/react/promise/src/functions.php on line 68
第68行:
return resolve([]);
但是这些文件本身并没有改变(据我所知),语法看起来是正确的。
phpinfo()给出5.4.39,这与在服务器上运行php -v时相同。
答案 0 :(得分:0)
如果PHP版本已经更改,那么它可能是PHP 5.4方括号数组语法的绊脚石。
使用phpinfo();
确保运行Web服务器的PHP版本与您在CLI上使用的版本相同。