首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Php CLI脚本忽略memory_limit,以远低于限制的数量崩溃

Php CLI脚本忽略memory_limit,以远低于限制的数量崩溃
EN

Stack Overflow用户
提问于 2009-12-31 04:46:10
回答 3查看 5.4K关注 0票数 6

由于某些原因,我的一个php脚本忽略了php.ini内存限制或ini_set。

当我执行print_r(ini_get_all)时,它显示全局内存限制设置为100M (并且是本地的),当我的脚本死于致命错误:内存不足(已分配24714304) (尝试分配571字节)

对诊断这个有什么建议吗?服务器有8 of的内存,并且以前在运行这个脚本时从未出现过问题。

关于调试有什么建议吗?

谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-12-31 04:58:43

最常见的原因通常是CLI PHP二进制文件使用的php.ini文件与您预期的不同。这可能是由user permissions引起的,或者只是安装的PHP版本不同的默认php.ini文件。但是,听起来您已经对它进行了一些分析,并且您的脚本中的内存限制可能是正确的。

在这种情况下,很可能是操作系统对进程施加了硬内存限制,在这种情况下,您必须找出强制内存的来源。

我建议你看看this thread,因为那张帖子和你的情况非常相似。

票数 5
EN

Stack Overflow用户

发布于 2009-12-31 05:16:07

我的进程的虚拟内存是硬限制的(这个数字太低了)。

在bash shell中,我这样做了:

ulimit -v (memory_in_bytes,无括号)

这解决了我的问题。天啊,我爱死堆栈溢出了

票数 5
EN

Stack Overflow用户

发布于 2009-12-31 05:01:50

短小精悍

代码语言:javascript
运行
复制
ini_set('memory_limit', -1);

以防您想跳过调试

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1982404

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档