miauのブログ

はてなダイアリー「miauの避難所」をはてなブログに移行しました

NetBeans 7.0 のディレクトリを消したら zf コマンドでエラーに

今回のプロジェクトでは Zend Framework を使うことになっているのですが。NetBeans 7.0.1 を入れたのでそれまで使っていた 7.0 のディレクトリ(C:\Program Files\NetBeans 7.0)を消すと、zf コマンド実行時にこんなエラーが発生。

PHP Warning:  include_once(): Failed opening 'NetBeansCommandsProvider.php' for inclusion (include_path='C:\Program File
s\NetBeans 7.0\php\zend;.;D:\xampp\php\PEAR') in D:\xampp\php\PEAR\Zend\Loader.php on line 146

NetBeans から Zend Framework プロジェクトをはじめて利用するときに、コマンド一覧を取得するコマンド(zf show nb-commands)の追加が行われたけど、このコマンドを提供するプロバイダのパスが変更されていないみたい。

設定は %USERPROFILE%\.zf.ini に書かれていて、

php.include_path = "C:\Program Files\NetBeans 7.0\php\zend;.;D:\xampp\php\PEAR"
basicloader.classes.0 = "NetBeansCommandsProvider"

になっているので、7.0 を 7.0.1 に書き換えたらちゃんと動作するようになりました。

ちなみに zf.ini の検索パスは zf.php の ZF#_detectHomeDirectory で定義されていて、

  • %ZF_HOME%
  • %HOME%
  • %HOMEPATH%
  • %USERPROFILE%

の順番で参照するみたい。

には説明が載ってないけど、ちゃんと %USERPROFILE% も検索パスに入ってると。