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

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

我正在运行 PHP 5.3.8 的设置,并使用 php-fpm 及其 chroot 功能来分离多个客户。因此每个客户都有自己的 chrooted PHP 环境,这很好。

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

有人知道如何实现这一点吗?

答案1

如果不修补 PHP 源代码,您就无法做到这一点。

答案2

正如 cyberx86 在其评论中指出的那样,suhosin 至少可以禁止memory_limit在运行时更改。suhoshin 中的配置选项称为suhosin.memory_limit

答案3

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

php_admin_value memory_limit 2G

这将使脚本中的任何一行都变得毫无意义,例如:

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

您可以阅读更多这里

高血压

相关内容