0

我在 Mac OS X Lion 10.7.4 上运行,

我正在运行 php,在 /etc/php.ini 中我将内存限制设置为 1024M

; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit = 1024M

现在,当我运行脚本时,它给了我这个错误

致命错误:允许的内存大小为 268435456 字节已用尽(尝试分配 474610 字节)

这看起来像 PHP 只分配了 256 兆字节的内存,那么我要求它分配的其余内存在哪里?

我没有想法在这里解决这个问题

4

5 回答 5

1

将内存限制设置为 -1

memory_limit = -1
于 2013-04-23T06:28:21.603 回答
1

我没有使用 silverstripe CMS 的经验,但我发现了这个: http ://www.silverstripe.org/general-questions/show/16355和http://www.silverstripe.org/installing-silverstripe/show/20228

也许它可以帮助您朝着正确的方向前进。

另一个线索?(关于 php.ini) https://discussions.apple.com/thread/2446810?start=0&tstart=0

于 2013-04-23T06:36:35.307 回答
1

当我收到似乎与 php.ini 设置的行为预期不匹配的错误时,我要做的第二件事(第一件事,重新启动服务器,已经提到过)是检查我是否编辑了正确的 php.ini 文件。尝试在页面中快速使用 phpinfo() 以确保您正在编辑的 php.ini 文件确实是根据设置使用的文件。

于 2013-04-23T06:52:25.540 回答
1

确保您的 Web 服务器正在加载 corect php.ini 文件。您可以通过在开始时使用以下函数调用准备一个测试 php 文件来检查这一点phpinfo()。确保该字段Loaded Configuration File与您正在编辑的文件的路径完全相同,这一点很重要。

此外,如果您尝试在此处使用快捷方式并尝试从 PHP CLI 读取上述配置选项的值,您可能会遇到额外的麻烦。在许多操作系统中,本地 Web 服务器使用的 PHP CLI 和 PHP 解释器使用不同的配置文件。这意味着phpinfo()在 PHP CLI 中运行的输出可能与通过 Web 服务器调用时不同。

于 2013-04-23T07:53:57.663 回答
0

您可以在没有内存限制的情况下运行 php。终端中的命令是: php -d memory_limit=-1 Symfony 提供以下解决方案:https://getcomposer.org/doc/articles/troubleshooting.md#memory-limit-errors

于 2016-02-17T16:38:02.027 回答