gpt4 book ai didi

php - PHP CLI 脚本还可以如何确定其内存限制?

转载 作者:IT王子 更新时间:2023-10-29 01:19:29 31 4
gpt4 key购买 nike

我需要运行一个 PHP CLI 脚本并为其提供大量内存(它是一个需要覆盖大型代码库的自动文档生成器)。我有一台功能强大的机器,并在 php.ini 和脚本文件中的内联 ini_set('memory_limit','5120M') 声明中为 php 分配了 5GB .

如果我将这些行添加到脚本的顶部:

phpinfo();
exit();

...它声称它有 5120M 的内存限制,正如我指定的那样。

但是脚本仍然出错,说

Fatal error: Allowed memory size of 1073741824 bytes exhausted

...这是 1GB,而不是我指定的 5GB。

脚本是否有任何其他地方可能正在寻找以确定其内存限制?这是在 Fedora Linux 中运行。

(是的,最终的解决方案可能是重写脚本以提高效率,但我一开始并没有写它,所以在我诉诸于此之前,我想只是把资源扔给它看看是否行得通。)

最佳答案

heap limit属性是一个size_t,在32位机器上是32位。如果以字节为单位,这会将内存限制限制为 4 GB。您可以尝试使用 64 位 PHP 在 64 位机器上运行它。

编辑:已确认,heap->limit 是一个 size_t(unsigned int),以字节为单位。 memory_limit 为 -1 将 heap->limit 设置为 4GB,并且不会像文档所暗示的那样禁用它。将其设置为 5GB 会使它环绕到 1GB。

关于php - PHP CLI 脚本还可以如何确定其内存限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3318636/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com