在上个星期,我在Slicehost切片上遇到了令人难以置信的烦人的错误。 看来,PHP不时会出现一个致命的错误,说某个函数是不确定的。 这个函数改变了,但是它总是一个核心的PHP函数,例如defined(),version_compare()等。当使用几个不同的PHP应用程序 – PHPMyAdmin,我自己定制的应用程序等等时,这个问题已经发生,导致我相信这个问题不是特定于运行的代码。
这里有一些细节: – Debian Lenny – Apache 2.2.9 – PHP 5.2.6-1 + lenny4 Suhosin-Patch(运行eAccelerator 0.9.6)
Apache和PHP从Debian软件包安装。 错误日志没有显示任何exception。
我认为记忆可能是一个问题,但免费-m几乎总是免费报告100MB以上。 我试图调查的另一件事是,如果问题可能与eAccelerator相关,但testing这个理论是非常困难的,因为这个问题并不经常出现,我一直在这个安装使用eAccelerator几个月没有任何问题到现在为止。
有没有人遇到过这样的事情? 为什么PHP会报告未定义的核心函数?
如果您使用php.ini指令临时禁用Suhosin会发生什么情况
suhosin.simulation = On
这有什么作用吗?
你有多个php.ini文件? 尝试locate php.ini或find / -name php.ini
作为替代scheme,您可以编写一个脚本来检查函数是否存在,如果不存在,输出phpinfo() ,您可以检查问题。 或者可能添加一个error handling程序 ,通过电子邮件向您发送更多详细信息以帮助您追踪此问题。
我从来没有听说过这个10多年来我一直在编码PHP …我只是猜测在这里。 我有兴趣知道这个问题是什么!