Как отключить ini_set PHP для определенных параметров конфигурации?

Как отключить ini_set PHP для определенных параметров конфигурации?

Я запускаю установку с PHP 5.3.8 и использую php-fpm с его функциональностью chroot для разделения нескольких клиентов. Таким образом, у каждого клиента есть своя собственная chrooted PHP-среда, что вполне нормально.

Теперь я хочу запретить клиенту изменять memory_limitего PHP-экземпляр с помощью ini_set. С другой стороны, я не хочу отключать ini_setполностью. Поэтому я ищу возможность отключить возможность устанавливать определенные параметры конфигурации PHP (например memory_limit) через ini_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');

Вы можете прочитать большездесь.

НТН

Связанный контент