WindowsでPHPを使うときの環境確認方法

PHPを使おう!と思い立ったときに困る事として、どのiniファイルが有効で、extension動いてるの?というのが、必ずあるのではと思います(僕だけですかねぇ)。

昨今ですと、XAMPP使ったり、WebPI (Windows Platform Installer)とかでWordpress入れたりすると、1台のPCに複数のPHPがインストールされてることもあるわけで。複数を使い分けたい人もいるでしょうし、覚えておくと良さそうなコマンドをいくつか。

気になるPHPの環境確認方法:5つ

全部コマンドラインを叩いて行います。5つほど紹介。

バージョンを見る
php --version

出力例) この場合 5.3.26 が動作してることがわかります

C:\work>php --version
PHP 5.3.26 (cli) (built: Jun  5 2013 19:16:29)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies
有効なphp.iniを知る
php --ini

出力例) この場合、読み込まれてるのは C:\php53\php.ini であることがわかります

C:\work>php --ini
Configuration File (php.ini) Path: C:\Windows
Loaded Configuration File:         C:\php53\php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)
extensionが有効かを調べる
php -i

phpinfo()の情報が出力されます。膨大な情報がでてくるので more とかでページ送りするか、 > output.txt などでファイルに出力。php -r "phpinfo();" としても同じ結果。

extensionが有効かを調べる:名前知ってる版

先ほどの出力をFINDに流して調べます。

出力例) この場合、OpenSSLが有効であることがわかります。

C:\work>php -i | find "openssl" /n /i
[174]SSL Version => OpenSSL/0.9.8y
[483]openssl
[485]OpenSSL support => enabled
[486]OpenSSL Library Version => OpenSSL 0.9.8y 5 Feb 2013
[487]OpenSSL Header Version => OpenSSL 0.9.8y 5 Feb 2013
[514]OpenSSL support => enabled
そもそも、どれが動いてる?
path

出てきたフォルダ名を、前から検証していきましょう。たいていは \php というフォルダ名があれば、その中にあるはずです。


Webサーバーが使ってるPHPを確認

いわずと知れた と書いた phpinfo.php をおいてブラウザで見てください。いろんなサイトに情報あるからこれだけ(;

その他

phpinfo()は、呼び出された元が、コマンドプロンプトかWebサーバー経由かで、出力が変わるんだということを知りました。PHPは、Web技術っていう印象が強いのでバッチとかにはあまり取り上げられませんが、言語としてはどっちでも動くように作られてるな(当たり前といわれそうですが。。。)と再確認できました。