十多年网络推广实战经验,从SEO&万词霸屏推广、SEM到社群营销,通过网络效果营销分享网络推广之道,结交网络营销之友!
当前位置:主页 > 程序 > dedecms > 正文

dedecms遇到Allowed memory size of 134217728 bytes exhausted问题如

2020/04/26 dedecms

dedecms网站更新的时候报出了Allowed memory size of 134217728 bytes exhausted错误,那么是什么原因造成的了,如何解决这个问题,下面为大家介绍一下解决方案。
 
首先分析一下,出现这个PHP错误主要原因就是因为php默认内存限制问题,默认的都是128M,所以要解决这个问题需要修改php.ini文件。
 
查找到memory_limit = 128M这一行,将128M改大点即可
 
解决方案1:
 
通过ini_set函数修改配置选项值
 
ini_set(‘memory_limit’,’256M’); //升级为256M内存
 
解决方案2:
 
1、修改php.ini
 
修改php配置
vi /usr/local/php/etc/php.ini
memory_limit = 128 改成memory_limit = 256
 
php-fpm重启
/etc/init.d/php-fpm restart
重启Nginx
service nginx restart
 
说明:
PHP5中,对于memory_limit的设定已经从以往的8M扩大到128M的上限。
 
对于配置中的定义解释是: memory_limit = 128M ; Maximum amount of memory a script may consume (128MB) 最大单线程的独立内存使用量。
 
也就是一个web请求,给予线程最大的内存使用量的定义。
 
memory_limit的内存分配,标配是128M。一旦独立的线程超过了128M,那PHP会报错: Fatal error: Allowed memory size of 33554432 bytes对于8G内存的服务器,如果同时并发的响应达到50,每个都是128M的峰值,那估计也是服务器会卡死的时候。
尽量降低128M的内存配置,如果调整至64M,服务器的负载基本能下降一半左右,如果能调整至32M效果更好。但是对于应用的要求就更高,很多表建立初期就没有考虑到这个问题,如果你要采用memcache作为数据的存储,必须提前完成优化数据表的设计部署,降低独立线程PHP的内存使用量,服务器的响应和负载降低的就不仅仅是几个百分点的效果了。

说明: 文章来源互联网,出于非商业性学习目的,文章版权归原作者所有。本站链接: https://www.mashuan.com/cx/dedecms/78.html