Posted at

もういい加減覚えよう。php.iniはどこにあるのか

More than 1 year has passed since last update.


対象読者


  • 毎回「あれ?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を実行するとかの方が早い