読者です 読者をやめる 読者になる 読者になる

EasyPHPでインストールしたPHPをコマンドプロンプトから使う

今まで知らなかったけどこれいいね。

いわゆるWamp environment。気に入ったところは

  • 管理者権限なくてもインストールできるし動く(apacheが8080ポートで動く)
  • apacheのaliasなどちょっとした設定をブラウザから出来る
  • PHP5.4にも対応

一般ユーザーでインストールすると、%USERPROFILE%\Documents\EasyPHP-12.1にインストールされる。php.exeはさらにその下のphp/phpxxxxxxxxxxxxxxxxみたいな長い名前のフォルダに入るんだけど、これをそのまま実行すると「指定されたモジュールが見つかりません」というダイアログが表示され、コンソールには

C:\Users\ishida>Documents\EasyPHP-12.1\php\php546x120828221523\php.exe
Failed loading C:\Program Files\Common Files\Microsoft Shared\Windows Live;...
php\php546x120828221523\php_xdebug-2.2.1-5.4-vc9.dll

 指定されたモジュールが見つかりません。
 in Unknown on line 0

こんなのがたくさん表示された。
apacheは動くのになんでCLIが動かないかというとphp.iniが別のものを使っているためらしく、比較してみると、
apache\php.ini

; IMPORTANT
; C:\Users\ishida\Documents\EasyPHP-12.1 is used to specify EasyPHP installation path
...
extension_dir = "C:\Users\ishida\Documents\EasyPHP-12.1\php\php546x120828221523\ext\"

php\php546x120828221523\php.ini

; IMPORTANT
; ${path} is used to specify EasyPHP installation path
...
extension_dir = "${path}\php\php546x120828221523\ext\"

見たいな感じで${path}が展開されていないようなので、apache\php.ini上書きしちゃうのが手っ取り早いと思います。

で、その後さらに

Warning: PHP Startup: Unable to load dynamic library 'C:\Users\ishida\Documents\
EasyPHP-12.1\php\php546x120828221523\ext\php_yaz.dll' - 指定されたモジュールが見
つかりません。
 in Unknown on line 0

とエラーが出ました。これはapache\bin\yaz4.dllを見つけられなかったからのようなので、apache\binにもPATHを通しちゃってもいいですが、そもそもyazって何だ?って人が大半だと思うので、php.iniでコメントアウトで良いと思います。

;extension=php_yaz.dll