事の顛末
PHPで調査することがあって、php.iniの場所を確認したかったのですが、どこにあるのかわかりません。。phpinfo()で出力されるということなので、phpinfo()を実行したい・・・。おや?、Apacheから呼び出さないとダメですか??? コマンドから直接実行できませんか???
こうすればいいらしい
php -r 'phpinfo();'
今回は、php.iniの場所を確認したかったので、こうしました。
php -r 'phpinfo();' | grep php.ini
ひとまず、解決。
ところで -r パラメータってなんですか?
やり方はわかったのだけれども、パラメータの意味が分からないとキモチが悪いので、マニュアルで確認。
-r の解説を見てみると
-r <code> Run PHP <code> without using script tags ..?>
ふむふむ、スクリプトタグ無しで、コマンドラインからコードが実行できると。
-r --run このオプションにより、コマンドラインのみで PHP の実行ができるようになります。 PHP の開始および終了タグ () は不要で、これらを付けると パーサエラーとなります。
なるほど、長い形式では --run ってことですね。イメージつきました。
-i (--info) があるではないですか
ググったときに、最初の方で見つけたのが -r パラメータだったので、その時は -r で解決してしまったのですが、もうちょっとよく見てみると、 -i とか --info とかありますね。
php -i
php --info
ちなみに、マニュアルには
このコマンドラインオプションは、phpinfo() をコールし、 結果を出力します。PHP が正しく動作していない場合、 php -i を実行し、情報テーブルの前または中に 出力されるエラーメッセージを調べることをお勧めします。 CGI モードの場合、 出力が HTML 形式で行なわれるため 量がかなり多くなることに注意してください。
と記載されているので、こちらで用は足りていたみたい。。。でも、-r でコマンドから phpinfo() に限らず、phpコードが実行できることは勉強になりました!!
参考文献
phpinfoの内容をコマンドラインで確認する
基礎だけど実は大切!!phpinfo関数を使ってPHPの設定内容を理解しよう