在过去的一周里,我在一个Slicehost切片上遇到了一个非常恼人的错误。每次PHP都会出现致命错误,也就是说某个函数是未定义的。函数会发生变化,但它总是一个核心的PHP函数,例如defined()、version_compare()等等。这个问题是在使用几个不同的PHP应用程序时发生的-- PHPMyAdmin、我自己定制的应用程序等等,这使我相信这个问题并不是运行中的代码所特有的。
下面是一些详细信息:-DebianLenny-Apache2.2.9-PHP5.2.6-1+ Lenny 4和Suhosin(运行eAccelerator 0.9.6)
Apache和PHP是从Debian包中安装的。错误日志没有显示出任何异常情况。
我认为内存可能是一个问题,但是空闲-m几乎一直都报告100 of以上的空闲。另一件我想研究的事情是,这个问题是否可能与eAccelerator有关,但是测试这个理论是非常困难的,因为这个问题并不经常出现,而且我在这个安装过程中使用eAccelerator已经好几个月了,到目前为止还没有出现任何问题。
有人遇到过这样的事吗?为什么PHP要报告未定义的核心函数?
发布于 2010-03-26 20:47:08
如果使用php.ini指令暂时禁用Suhosin会发生什么?
suhosin.simulation = On
那有什么效果吗?
您有多个php.ini文件吗?试试locate php.ini或find / -name php.ini
作为另一种选择,您可以编写一个脚本来检查函数是否存在,如果不存在,则输出phpinfo(),您可以检查该脚本是否存在问题。也可能是添加错误处理程序,它会给你发电子邮件,提供更多的细节来帮助你追踪这个问题。
在我编写PHP的10+年里,我从来没有听说过这个.我只是猜这里。我很想知道问题出在哪里!
https://serverfault.com/questions/126693
复制相似问题