[PHP] PHP_INI_ALL区分の設定がini_setで変更できなかったのはphp_admin_value

ヨメレバCSS
オリジナルCSS

 今更感がある落とし穴でしたが割と検索してもわからなかったのでメモ書きとして。

スポンサーリンク
GoogleAdSence レクタングル(大)

PHP_INI_ALLなのにini\setで変更できない

 PHPには各種設定を記述する場所がいくつかあります。ini_setはPHPスクリプト内で設定を変更するものです。

 また設定値には「どこで変更を行えるか」が決められていて、PHP_INI_ALLであればどこでも変更可能です。

 なので、PHP_INI_ALLの設定(具体的にはメモリが足りなかったのでmemory_limitを拡張しようとした)であればPHPスクリプト内で変更可能のはずですが…どうにも変更が反映されてくれませんでした。

www.confでphp_admin_valueを使って設定していた

 いろいろ設定されている場所を確認していったところ、php-fpmのwww.confで php_admin_value[memory_limit] = 32M のように指定されていました。

 どうやらphp_admin_valueで指定した設定値はini_setで上書きできないため、変更されていなかったみたいでした。

 php_admin_valueの説明が書いてある項目を見ると、次のようになっています。

また、 php_admin_value で設定された設定オプションの値は、
.htaccess や ini_set() では上書きできません

 試しに設定値をphp_valueで設定するようにしてみると、PHPスクリプト内のini_setで変更できるようになりました!

スポンサーリンク
GoogleAdSence レクタングル(大)