特定の設定オプションに対して PHP の ini_set を無効にする方法は?

特定の設定オプションに対して PHP の ini_set を無効にする方法は?

私は PHP 5.3.8 のセットアップを実行しており、複数の顧客を分離するために chroot 機能を備えた php-fpm を使用しています。そのため、各顧客には独自の chroot された PHP 環境があり、これはまったく問題ありません。

現在、顧客がmemory_limitを使用して PHP インスタンスの を変更することを禁止したいと考えていますini_set。一方で、完全に無効にしたくはありません。そこで、 を介して特定の PHP 構成オプション ( など)ini_setを設定する可能性を無効にする方法を探しています。memory_limitini_set

それを実現する方法を誰か知っていますか?

答え1

PHP ソースコードにパッチを適用しなければ、それはできません。

答え2

cyberx86 がコメントで指摘しているように、suhoshin では少なくともmemory_limit実行時に への変更を禁止することが可能です。suhoshin でそのための設定オプションは と呼ばれますsuhosin.memory_limit

答え3

Apache の場合、httpd.conf で次のように設定できます。

php_admin_value memory_limit 2G

次のようなスクリプトの行は無意味になります:

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

詳しくはこちらここ

HTH

関連情報