php.iniの探し方

php.iniといえばPHPの設定ファイルですが、編集しようとして置き場が分からず困る、ということがまれによくあるので、メモしておきます。

方法1 ターミナルからコマンドを叩く

LinuxやMac OS XのようなUNIX系のOSで使える方法です。以下の行をコピペしてターミナルに貼り付けてreturn。

php -r ‘phpinfo();’ | grep php.ini

正常に実行できた場合、

Configuration File (php.ini) Path => /etc
Loaded Configuration File => /etc/php.ini

といった結果が出力されると思います。仕組みとしては、PHPをコマンドラインから実行して(php -r ‘実行したいコード’)、phpinfo()で設定情報を出力、出力された情報から「php.ini」という文字列を含む行だけをgrepという検索コマンドで抽出しています。

上手く結果が返ってこない場合、方法2でやってみるか、最後につけた付録を参照してください。

方法2 phpinfo()出力用のファイルを用意する

<?php
phpinfo();
?>

上の3行をコピペしてエディタに貼り付け、適当な名前をつけて保存。保存したファイルをWebサーバーの公開ディレクトリに置いて、そのファイルにブラウザーでアクセスする。するとPHPの設定情報が出力されたページが表示されるので、そこで「Loaded Configuration File」という項目を探す。

付録 トラブルシューティング

php -r ‘phpinfo();’ | grep php.ini

↑を実行した結果、

A. エラーメッセージが出力される → (1)へ
B. 大量に出力される → (2)へ

(1) 「php -v」を実行して、PHPのバージョン情報が返ってくるかチェック
 → 返ってくる → phpコマンドは正常に動いてるので、コマンドの打ち間違いをチェック
 → 返ってこない
  →  「/usr/bin/php -v」で結果が返ってくるかテスト
   → 返ってきた → 「/usr/bin/php -r ‘phpinfo();’ | grep php.ini」を実行すればOK(環境変数のパスが通ってない)
   → 返ってこない → PHPをCUIから実行できるようになっているかチェック

(2) 「grep –help」を実行
 「そんなコマンドねーよ」と返ってきた場合は、grepコマンドがインストールされていない

※「php – v」及び「grep –help」の両方が正常に出力される場合、打ち間違いの可能性が高い

コメントを残す