我刚刚意识到有些PHP无法在一台服务器上正确执行,但在另一台服务器上执行正确。
他们都运行Ubuntu 10.04和PHP PHP 5.3.2(PHP 5.3.2-1ubuntu4.2与Suhosin-Patch(cli)(内置:2010年5月13日20:03:45))
我正在测试使用:
$f = function() {};
var_dump($f);
die();
在有效的服务器上,结果是:
对象(关闭)#1(0){}
在没有的那个上,结果是:
UNKNOWN:0
我错过了什么?
[编辑]
在同一个文件中有2个闭包似乎存在问题:
<?php
$f = function() {};
$f2 = function() {};
var_dump($f);
var_dump($f2);
die();
输出:
UNKNOWN:0
object(Closure)#1(0){}
答案 0 :(得分:2)
经过一些谷歌搜索结合ircmaxell对phpinfo的提示后,我得到了eaccelerator的提示。
正确运行代码的服务器正在运行eaccelerator 0.9.6.1,那个不起作用的服务器使用的是0.9.6。
从源代码编译新版本,它解决了我的问题。
谢谢!