我试过在 php.ini 中设置限制,但我总是得到同样的错误:
允许的内存大小为 262144 字节耗尽(尝试分配 341351 字节)在 Unknown on line 0
我可以通过调用 php -d memory_limit=2048M
script.php 来解决这个问题
但无法弄清楚如何处理作曲家。
原文由 Jon Diamond 发布,翻译遵循 CC BY-SA 4.0 许可协议
我试过在 php.ini 中设置限制,但我总是得到同样的错误:
允许的内存大小为 262144 字节耗尽(尝试分配 341351 字节)在 Unknown on line 0
我可以通过调用 php -d memory_limit=2048M
script.php 来解决这个问题
但无法弄清楚如何处理作曲家。
原文由 Jon Diamond 发布,翻译遵循 CC BY-SA 4.0 许可协议
由于 PHP-CLI 有不同的 ini 文件,这通常会导致配置错误。
对于 « unix shebang » PHP shell 脚本,我们可以做的是直接在 shebang 行上动态设置 ini 键,如下所示:
#!/usr/bin/php -d memory_limit=512M
<?php
phpinfo();
exit;
然后查看 php 是否理解,使用 phpinfo()
:
./myphpProg | grep memory
正确的 shell 输出应该包含:
memory_limit => 512M => 512M
man php
-d foo[=bar] Define INI entry foo with value bar
在不使用 Unix shebang 机制的情况下,我们可以类似地在命令行或专用 启动 脚本中传递一个(或多个) -d
参数:
php -d memory_limit=512M myphpProg
原文由 NVRM 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答3.1k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
1 回答1.3k 阅读✓ 已解决
3 回答1.2k 阅读
2 回答1.2k 阅读
1 回答1.2k 阅读
在您的 PHP 脚本中将此添加到您的 PHP 代码
ini_set("memory_limit", "2048M");
的最顶部。确保根据需要增加memory_limit
。如果您不断收到
exhausted memory
这种错误消息。您可以使用ini_set("memory_limit", "-1");
。这会将您的内存限制设置为无限制。