最近我的应用程序开始抛出这种错误:
PHP致命错误:无法在{X File:X line}中重新声明{X Class}(先前在{X File:X line}中声明)
经过一些调查,我得出的结论是,PHP代码以某种方式被执行了两次。
为了确保这一点,我使用以下代码创建了一个文件:
error_reporting(E_ALL);
define('SOMETHING', 'ITS OK');
echo SOMETHING;
die();
这是文件的完整代码。但是有时,当请求该文件时,会产生以下错误:
PHP注意:第6行的{Y File}中已经定义了常量
您知道哪种设置可能导致这种情况吗?
通过快速连续的请求,该问题似乎更容易重现,但它可能不限于这种情况,有时似乎是在单个请求中发生的(但我不认为这是事实)
答案 0 :(得分:0)
该问题似乎是由于imunify360中的主动防御而出现的。 https://www.imunify360.com/proactive-defense。禁用主动防御php模块似乎可以解决该问题。