匿名函数不起作用:函数名必须是字符串

时间:2013-12-09 19:11:42

标签: php

我有:

PHP Version 5.4.20
'./configure' '--disable-fileinfo' '--enable-bcmath' '--enable-calendar' '--enable-ftp' '--enable-gd-native-ttf' '--enable-libxml' '--enable-mbstring' '--enable-pdo=shared' '--enable-soap' '--enable-sockets' '--enable-zip' '--prefix=/usr/local' '--with-apxs2=/usr/local/apache/bin/apxs' '--with-curl=/opt/curlssl/' '--with-freetype-dir=/usr' '--with-gd' '--with-imap=/opt/php_with_imap_client/' '--with-imap-ssl=/usr' '--with-jpeg-dir=/usr' '--with-kerberos' '--with-libdir=lib64' '--with-libxml-dir=/opt/xml2' '--with-libxml-dir=/opt/xml2/' '--with-mcrypt=/opt/libmcrypt/' '--with-mysql=/usr' '--with-mysql-sock=/var/lib/mysql/mysql.sock' '--with-openssl=/usr' '--with-openssl-dir=/usr' '--with-pcre-regex=/opt/pcre' '--with-pdo-mysql=shared' '--with-pdo-sqlite=shared' '--with-pic' '--with-png-dir=/usr' '--with-xpm-dir=/usr' '--with-zlib' '--with-zlib-dir=/usr' 

我测试了这段代码:

$greet = function($name) {
    printf("Hello %s\r\n", $name);
};

$greet('PHP');

我收到此错误:

Fatal error: Function name must be a string

在PHP版本5.3.10-1ubuntu3.8上,它正常工作。有谁发生了什么?

3 个答案:

答案 0 :(得分:5)

答案 1 :(得分:1)

因为 eAccelerator 而你应该禁用它

要关闭eAccelerator,请在 php.ini 配置中进行以下更改:

eaccelerator.enable 0
eaccelerator.optimizer 0

.htaccess 文件

php_flag eaccelerator.enable 0
php_flag eaccelerator.optimizer 0

答案 2 :(得分:0)

顺便说一句,当我上传symfony应用程序时,我注意到这个服务器(它是客户端的VPN服务器)的问题,我收到了这个错误

ContextErrorException: Warning: preg_replace_callback(): Requires argument 2, '', to be a valid callback in /home/client/vendor/symfony/symfony/src/Symfony/Component/Yaml/Unescaper.php line 56