如何禁用PHP的ini_set特定的configuration选项?

我正在运行PHP 5.3.8的设置,并使用php-fpm的chrootfunction来分隔多个客户。 所以每个客户都有自己的chrooted PHP环境,这相当好。

我现在想禁止客户使用ini_set更改他的PHP实例的memory_limit 。 另一方面,我不想完全禁用ini_set 。 所以我正在寻找一种可能性来禁止通过ini_set设置特定的PHPconfiguration选项(如memory_limit )的可能性。

有人知道如何做到这一点?

你不能修补PHP源代码。

cyberx86在他的评论中指出,suhosin至less可以在运行时禁止memory_limit改变。 在suhoshin中的configuration选项称为suhosin.memory_limit。

对于Apache,您可以在httpd.conf中设置如下内容:

 php_admin_value memory_limit 2G 

这将使脚本中的任何一行毫无意义:

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

你可以在这里阅读更多。

HTH