由于不好的原因,我需要为一个目录设置高于1G的memory_limits,但是在我放在Lenny服务器上的PHP 5.2.17上,例如2048M,我只得到php.ini默认值(256M).
PHP作为apache模块运行,phpinfo给我们(用于目录)
memory_limit 1024M 256M
suhosin.memory_limit 0 0
Run Code Online (Sandbox Code Playgroud)
由于apache模块或PHP conf有限制吗?我知道服务器只有4G的RAM,它只是一个特殊的脚本.
kin*_*ple 106
你是如何设置内存限制的?phpinfo()显示当前的PHP保留内存限制,这是因为php.ini将其设置为内存限制
如果您的服务器支持通过.htaccess设置PHP命令,则可以在脚本目录中将此文件写入Apache .htaccess:
php_value memory_limit 2048M
Run Code Online (Sandbox Code Playgroud)
因为有可能关闭用于设置PHP值的.htaccess命令.然后你也可以从PHP代码中尝试这个:
ini_set('memory_limit', '2048M');
Run Code Online (Sandbox Code Playgroud)
如果这不起作用且.htaccess也不起作用,那么您需要联系服务器管理员.
pol*_*1er 28
ini_set("memory_limit",-1);
Run Code Online (Sandbox Code Playgroud)
这通常应该删除限制
nxa*_*sdf 27
我有同样的问题,我需要我的PHP脚本使用4 GB的RAM.原因无关紧要.目标是在PHP中设置4 GB的限制.
最初的想法是使用,ini_set('memory_limit', '4096M');但我发现这不起作用.我不知道如何或为何诚实,但那对我来说并不重要.我在一个拥有32 GB RAM的系统上,它必须是可能的.
我发现设置的限制减少了1 MB,这对我来说是一个解决方案.
ini_set('memory_limit', '4095M'); // 4 GBs minus 1 MB
Run Code Online (Sandbox Code Playgroud)
编辑Nov '16:实际上,我之前从未真正玩过它,但我注意到我的系统上这个值似乎完全消除了我的所有内存限制.我可以使用尽可能多的RAM,因为我的系统可能提供.
小智 8
的极限为
ini_set('memory_limit', '4095M'); // 4 GBs minus 1 MB
Run Code Online (Sandbox Code Playgroud)
与操作系统(OS)有关。对于 32 位操作系统,您必须使用此最大限制。
我今天使用此解决方法解决了内存限制的问题。
使用更高的限制,PHP 会出现奇怪的行为。当实例化类时,它会在某些公共非静态方法类中返回耗尽的内存,但会在 __construct 方法中放置 die() (以测试问题)。
小智 6
如下所述:http://www.hardened-php.net/suhosin/configuration.html#suhosin.memory_limit
Suhosin不允许您设置大于脚本开头的值.
如果将suhosin.memory_limit设置为2048M,那么您将能够增加内存使用量.
| 归档时间: |
|
| 查看次数: |
297996 次 |
| 最近记录: |