対象読者
- 毎回「あれ?php.iniがどこにあるのかってどうやって調べるんだっけ?」と聞いてる人
- 結局都度ググってる人
php.iniのファイルパスを調べる方法
※ 前提の注意事項
webサービスを動かしている場合、Apacheから見た時の場所と、コンソールで見たときの場所が異なる場合があります。
実際にはwebサービスで動いているPHPは、Apacheで見たときのphp.iniを読み込んでいるので注意が必要です。
(個人的にphpenvを試してる時なんかは、自分のコンソールのバージョンとApache上でPHPのバージョン・php.iniのファイルパスも異なるので注意が必要です)
1. phpinfoを見る
phpinfoを見る方法も2種類あります。
A. phpinfoをwebで見る
ドキュメントルート配下に下記を記載し、web上から確認。
echo phpinfo();
B. コンソール上で実行して確認
$ php -r "echo phpinfo();" | grep "php.ini"
Configuration File (php.ini) Path => /home/riki/.phpenv/versions/5.6.10/etc
Loaded Configuration File => /home/riki/.phpenv/versions/5.6.10/etc/php.ini
※ 私はローカルではphpenvを使ってバージョンを変えているので、上のphpinfoをweb上で確認した時とバージョンもphp.iniの場所も異なっています。
2. phpのオプションから探す
A. --iniオプションを使う
$ php --ini
Configuration File (php.ini) Path: /home/riki/.phpenv/versions/5.6.10/etc
Loaded Configuration File: /home/riki/.phpenv/versions/5.6.10/etc/php.ini
Scan for additional .ini files in: /home/riki/.phpenv/versions/5.6.10/etc/conf.d
Additional .ini files parsed: /home/riki/.phpenv/versions/5.6.10/etc/conf.d/pyrus.ini,
/home/riki/.phpenv/versions/5.6.10/etc/conf.d/xdebug.ini
B. -iオプションを使う
$ php -i | grep php.ini
Configuration File (php.ini) Path => /home/riki/.phpenv/versions/5.6.10/etc
Loaded Configuration File => /home/riki/.phpenv/versions/5.6.10/etc/php.ini
まとめ
- 基本はphpinfoを見るのが早い
- webサービスのときは、web上で確認する方が安全
- 速さで言えばコンソール上でphpinfoを実行するとかの方が早い