最近,我从命令行执行一个PHP脚本时收到一条错误消息:
PHP Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 40961 bytes)
php -i | grep memory php -i | grep memory显示:
memory_limit => -1 => -1 suhosin.memory_limit => 0 => 0
哪一个应该没有限制呢?
服务器运行PHP 5.3.3-7+squeeze16 with Suhosin-Patch (v0.9.32.1) (cli)
怎么会这样?
使PHP没有任何限制是不明智的。当你的服务器是32GB的内存,最大为30GB,等等。尝试设置一个正值,而不是-1或0 。
确保你的目标是正确的PHP / php.ini版本,具体取决于你运行脚本的模式:
/etc/php5/apache for apache
/etc/php5/fpm for fastcgi using mod_fpm
/etc/php5/cgi for cgi脚本
/etc/php5/cli为php shell客户端
要对更改生效,还需要重新启动:
/etc/init.d/apache
要么
/etc/init.d/php5-fpm
如果还没有帮助,请检查以下问题: 无法删除PHP脚本的内存使用限制
好吧,我发现它,问题不是PHPconfiguration,但运行全局search后,我发现一个供应商脚本,将内存限制设置为32M: – /