エンジニアのひよこ_level10

毎日更新してた人。たまに記事書きます。

【PHP】php.iniには設定を書かないようにしよう!【627日目】

php.iniに設定を書きたい

PHPの設定を書きたい。こんなのとか

extension=pdo_mysql.so

とかとか。

php.iniの場所

php --ini

このコマンドでファイルの位置がわかった

root@xxxxxxxxxxx:/var/www# php --ini
Configuration File (php.ini) Path: /usr/local/etc/php
Loaded Configuration File:         (none)
Scan for additional .ini files in: /usr/local/etc/php/conf.d
Additional .ini files parsed:      /usr/local/etc/php/conf.d/docker-php-ext-pdo_mysql.ini

この場合、 /usr/local/etc/phpの中にある php.iniを読み込みます。

が、この結果、私の環境では、php.iniはありません。
ではどこに設定を書いているか?

設定ファイルを分けよう(additional .ini files)

設定は、 /usr/local/etc/php/conf.d/docker-php-ext-pdo_mysql.iniに書かれています。

どういうことかというと、

Scan for additional .ini files in: /usr/local/etc/php/conf.d

と書かれているように、このディレクトリの下に置かれた .iniファイルは、読み込まれて自動的に合体した結果が、php.iniに直書きされたのと同じように扱えます。

該当ディレクトリの下に、設定内容に応じて .iniファイルを用意することによって、山のように設定の書かれた php.iniファイルを生成するのではなく、
(mysql.iniやxdebug.iniなど)各用途に応じたファイルを作りましょう。

ちゃんと読み込まれているか心配

Additional .ini files parsed:      /usr/local/etc/php/conf.d/docker-php-ext-pdo_mysql.ini

このように、読み込まれたファイルは、 php --iniコマンドで確認することが出来ます。

また、 phpinfo()などでも確認が出来ます。

良いPHPライフを!