【发布时间】:2015-06-04 13:43:39
【问题描述】:
我有各种 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 时一样。
【问题讨论】:
-
不看代码怎么判断?
-
可能有很多原因。给我们一个导致错误的行的例子。这是一种可能性:'mysqli_fetch_assoc($r)['r']'
-
“看似随机的地方”——你的意思是对你来说似乎是随机的?也许不适合我们。显示一个 MCVE。