У меня есть:
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 он работает так, как должен. Кто-нибудь, что происходит?
Uhh, я думаю, я просто узнал :(: http://snippets.webaware.com.au/howto/eaccelerator-and-php-closures-dont-mix
его из-за eAccelerator, и вы должны отключить его
Чтобы отключить eAccelerator, внесите следующие изменения в конфигурацию php.ini :
eaccelerator.enable 0 eaccelerator.optimizer 0
или в файлах .htaccess
php_flag eaccelerator.enable 0 php_flag eaccelerator.optimizer 0
Кстати, я заметил проблему с этим сервером (это клиентский VPN-сервер клиента), когда я загрузил приложение Symfony, и я получил эту ошибку
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