!
也想出现在这里? 联系我们
广告位
当前位置:首页>教程分享>服务器教程>解决 PHP 报错 Allowed memory size of 134217728 bytes exhausted (tried to allocate 78 bytes)

解决 PHP 报错 Allowed memory size of 134217728 bytes exhausted (tried to allocate 78 bytes)

一、解决方法

对于 PHP 内存溢出的问题,这里提供 2 个常用的解决方法,一个是修改 php.ini,一个是用 ini_set 修改配置。

1、修改 php.ini

编辑 php.ini 文件,默认的限制应该是 128M,即 memory_limit = 128M,我们可以修改成 512M:memory_limit = 512M

修改完毕后重启 PHP 即可生效。

2、利用 ini_set 修改配置

同样是修改成限制 512M,可以利用这段代码:

ini_set (\'memory_limit\',  \'512M\')

二、扩展阅读

memory_limit = 128M 解读:Maximum amount of memory a script may consume (128MB),即最大单线程的独立内存使用量。

memory_limit 的内存分配,标配是 128M。一旦独立的线程超过了 128M,那PHP会报错: Fatal error: Allowed memory size of 33554432 bytes。对于 8G 内存的服务器,如果同时并发的响应达到 50,每个都是 128M 的峰值,那估计也是服务器会卡死的时候。

尽量降低 128M 的内存配置,如果调整至 64M,服务器的负载基本能下降一半左右,如果能调整至 32M 效果更好。但是对于应用的要求就更高,很多表建立初期就没有考虑到这个问题,如果你要采用 memcache 作为数据的存储,必须提前完成优化数据表的设计部署,降低独立线程 PHP 的内存使用量,服务器的响应和负载降低的就不仅仅是几个百分点的效果了。

给TA打赏
共{{data.count}}人
人已打赏
服务器教程

CentOS / Debian / Ubuntu 一键安装 Docker 教程

2021-4-17 19:16:40

服务器教程

Linux 上 PHP 开启调试模式,并显示错误日志教程

2021-4-17 19:16:43

声明 本站上的部份代码及教程来源于互联网,仅供网友学习交流,若您喜欢本文可附上原文链接随意转载。无意侵害您的权益,请发送邮件至 [email protected] 或点击右侧 私信:吉吉国王 反馈,我们将尽快处理。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索
OneEase