代码之家  ›  专栏  ›  技术社区  ›  Andrei Serdeliuc ॐ

PHP5.3.2-1ubuntu4.2中不支持闭包

  •  3
  • Andrei Serdeliuc ॐ  · 技术社区  · 14 年前

    我刚刚意识到有一点PHP在一台服务器上不能正确执行,但在另一台服务器上却能正确执行。

    他们都在用php5.3.2运行ubuntu10.04(php5.3.2-1ubuntu4.2和Suhosin补丁(cli)(编译时间:2010年5月13日20:03:45))

    我正在测试使用:

    $f = function() {};
    
    var_dump($f);
    die();
    

    在工作的服务器上,结果是:

    对象(闭包)#1(0){}

    如果没有,结果是:

    未知:0

    我错过了什么?

    在同一个文件中有两个闭包似乎有问题:

    <?php
    $f = function() {};
    $f2 = function() {};
    
    var_dump($f);
    var_dump($f2);
    die();
    

    输出:


    对象(闭包)#1(0){}

    1 回复  |  直到 14 年前
        1
  •  2
  •   Andrei Serdeliuc ॐ    14 年前

    经过更多的谷歌搜索,再加上ircmaxell在phpinfo上的提示,我得到了每个加速程序的提示。

    正确运行代码的服务器运行的是eaccelerator 0.9.6.1,不起作用的服务器使用的是0.9.6。

    从源代码处编译了新版本,解决了我的问题。