0

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

这意味着我需要 137203209 字节的内存限制来运行我的 php 脚本。
尽管脚本中有以下代码,但我收到了此错误。

 ini_set('memory_limit', 268435456); # 256 MB

该脚本位于我的共享托管服务器上。我无权访问php.inimemory_limit确实适用于同一托管服务器中的其他脚本。

当我检查我的服务器的 phpinfo() 时,我看到了这些

suhosin.memory_limit - 128
memory_limit - 100M

我的脚本肯定需要超过 128M,因为它是一个带有大文件附件的邮件发送脚本。

4

2 回答 2

2

您在共享主机上,而共享主机几乎从不让您使用这些ini_set('memory_limit',XXX)功能(否则每个人都会试图抢占整个服务器内存并锁定整个服务器)。检查phpinfo()是否打开了安全模式......它可能是。

另外,旁注:如果你想在任何情况下将内存限制设置为 256MB,你可以使用:

ini_set('memory_limit', '256M');

符号而不是写出整个整数。

于 2012-09-21T03:14:21.497 回答
1

suhosin.memory_limit - 128不允许您将内存限制增加到 128mb 以上,将其设置为 268435456 以允许将 memory_limit 增加到 256Mb。不过,我怀疑您是否可以在共享主机上执行此操作,因为您需要访问 suhosin ini 文件(您不能执行类似的操作ini_set('suhosin.memory_limit', 268435456);)。

More about suhosin.memory_limit

于 2012-09-21T03:11:36.637 回答