我们遇到了一个刚刚发现的问题,我们的一些开发人员使用ini_set('memory_limit',-1)来覆盖其代码文件中的php.ini memory_limit设置。
由于有时我们的内存/ CPU使用情况远远超过平时,我们甚至有经验的服务器挂/多次崩溃。
有没有办法限制这些变化的某些参数,如memory_limit,upload_max_filesize和post_max_size? 用户不应该能够在设置一定限制后编辑它们?
对不起,如果我问一个愚蠢的问题,尝试search,但没有参考这只发现答案要求增加这些参数。
我知道有两个选项可以完成至less部分目标。
首先php safe_mode,这可能会给你的Devs很多额外的工作。
Suhosin http://www.hardened-php.net
安装后,您可以编辑/etc/php5/conf.d/suhosin.ini并设置:
suhosin.memory_limit = 512M
从手册Qoute 1 :
suhosin.memory_limit Type: Integer Default: 0
由于long脚本不在safe_mode内运行,因此可以自由地将memory_limit更改为所需的值。 Suhosin改变了这个事实,并且当这个选项保留为0时,不允许将memory_limit设置为一个大于脚本启动的值。一个大于0的值意味着Suhosin将不允许脚本将memory_limit设置为高于这个configuration的hard限制。 这是例如有用的,如果你想正常运行的脚本与16M的限制,但image processing脚本可能会提高到20M。
Stackoverflow的问题,以供参考