PHP致命错误:耗尽了20971520字节的允许内存大小(尝试分配131072字节)错误和解决方案
时间:2020-01-09 10:41:50 来源:igfitidea点击:
Ubuntu Linux服务器(Apache + PHP5 FastCGI + Lighttpd仅镜像服务器)日志文件中出现以下错误:
PHP Fatal error: Allowed Memory Size of 20971520 Bytes exhausted (tried to allocate 131072 bytes) in /usr/share/mediawiki/includes/OutputHandler.php on line 81
PHP致命错误:在第81行的/usr/share/mediawiki/includes/OutputHandler.php中,耗尽了20971520字节的允许内存大小(试图分配131072字节)。
我该如何解决这个问题?
Ubuntu/Debian PHP5带有16MB的php内存限制。
编辑/etc/php5/cgi/php.ini、/etc/php5/apache2/php.ini和/etc/php5/cli/php.ini文件,运行:
sudo vi /etc/php5/cgi/php.ini sudo vi /etc/php5/cli/php.ini sudo vi /etc/php5/apache2/php.ini
设置脚本可能消耗的最大内存量(例如128M):
memory_limit = 128M
保存并关闭文件。
但是,真正的执行者是适用于PHP5的suhosin安全补丁。
编辑/etc/php5/conf.d/suhosin.ini,运行:
sudo vi /etc/php5/conf.d/suhosin.ini
设置允许的内存大小(128M):
suhosin.memory_limit = 128
保存并关闭文件。
请注意,如果找不到/etc/php5/conf.d/suhosin.ini文件,请执行以下命令进行安装,然后执行:
sudo apt-get install php5-suhosin
最后,重新启动Web服务器:
sudo /etc/init.d/apache2 restart
或者
sudo /etc/init.d/lighttpd restart