PHP で使用されている php.ini ファイルを特定する方法

PHP で設定ファイル php.ini を確認する方法について。

大きく分けて 3 つの方法があるかと思います。

  1. php コマンドの -i オプションを使う方法
  2. phpinfo() 関数を使ってページで確認する方法
  3. php_ini_loaded_file() 関数を使う方法

1. php コマンドの -i オプションを使う方法

php コマンドに -i オプションをつけると PHP の設定情報がもろもろ表示されるので、その中からほしい部分を grep などで抽出します。

$ php -i | grep php.ini
Configuration File (php.ini) Path => /usr/local/etc/php/5.6
Loaded Configuration File => /usr/local/etc/php/5.6/php.ini

2. phpinfo() 関数を使ってページで確認する方法

phpinfo() 関数も -i オプションと同様に PHP の設定情報をもろもろ表示してくれます。 phpinfo() 関数を呼び出す php ファイルを作ってそれをブラウザで確認すれば OK です。

$ echo '<?php phpinfo(); ?>' > phpinfo.php
$ open http://path/to/phpinfo.php

1 の場合と同様に「 Loaded Configuration File 」という項目が見つかるはずです。

3. php_ini_loaded_file() 関数を使う方法

1 と 2 の方法でもいいのですが、読み込まれた php.ini ファイルを返すそのままずばりな関数 php_ini_loaded_file() があるのでこれを使うと便利です。

$ php -r 'echo php_ini_loaded_file() . PHP_EOL;'
/usr/local/etc/php/5.6/php.ini

grep などで後処理をしなくてもパスだけがきれいに出てきます。 シェルの設定ファイルにエイリアスを登録しておくとサッと使えるので便利かもしれません。

$ alias php.ini="php -r 'echo php_ini_loaded_file() . PHP_EOL;'"