我们遇到了一个问题,我们的一些开发人员使用ini_set(‘memory_limit’,– 1)覆盖了代码文件中的PHP.ini memory_limit设置.
由于有时我们的内存/ cpu使用率远远超过平常,我们甚至经历过多次服务器挂起/崩溃.
是否有任何方法可以限制某些参数的这些更改,如memory_limit,upload_max_filesize&的post_max_size?用户在设置一定的限制后应该无法编辑它们?
我知道有两种选择可以实现至少部分目标.
首先是PHP safe_mode,这可能会给你的Devs带来很多额外的工作.
Suhosin www.hardened-php.net
安装后,您可以编辑/etc/PHP5/conf.d/suhosin.ini并设置:
suhosin.memory_limit = 512M
来自手册1的Qoute:
suhosin.memory_limit Type: Integer Default: 0
由于长脚本没有在safe_mode中运行,因此可以自由地将memory_limit更改为他们想要的任何值.当此选项保留为0时,Suhosin会更改此事实并禁止将memory_limit设置为大于脚本开始的值.大于0的值意味着Suhosin将禁止脚本将memory_limit设置为高于此配置的值限制.例如,如果您希望以16M的限制运行脚本,但图像处理脚本可能将其提升到20M,则这是有用的.
@L_502_2@供参考