我编写的PHP软件已经运行了好几年,突然抛出了以下错误: i360:全局初始化错误
回调函数register_shutdown_function('my_shutdown');
抛出此错误
回调函数就是这样:
function my_shutdown ()
{
chdir(getcwd());
$e = error_get_last();
if ($e)
trigger_error($e['message'].' on '.$e['file'].' ('.$e['line'].')', E_USER_ERROR);
}
trigger_error
引发的完整错误消息是:
i360: Error in global initialization 1 on Unknown (0)
。
没有太多线索。任何想法可能是什么原因造成的?
更新1:
如果我注释掉整个my_shutdown()
函数,该脚本可以正常工作,但我仍然对为什么在经过多年正常工作后才在今天才发生此错误感到好奇。
更新2: 暂定信息:这似乎与Web服务器的安全软件Imunify360有关(我的主机使用我不知道或无法控制的安全软件)。正在进行调查。
答案 0 :(得分:1)
此错误仅在今天发生。当我删除Hawk Host cpanel上的cron作业时,它消失了。
答案 1 :(得分:1)
此问题是由Imunify360引起的,因为最近进行了更新,其中包括一项名为“主动防御”的功能:
要解决此问题,您需要让主机禁用所有PHP版本的扩展:
sed -i "s/extension=i360.so/;extension=i360.so/g" /opt/alt/php*/etc/php.ini
那应该暂时解决问题。
答案 2 :(得分:1)
已确认此错误来自Imunify360(Web服务器的安全软件)。在撰写本文时,这个问题已经解决。我假设有一个更新已应用到使用它的服务器,所以如果仍然出现此错误,请与您的主机联系。