windowsにEthnaを入れる・つづき3

またまた間があいちゃいましたが、今回が最終回です。いや、ほんとはこの内容は2週間前に分かっていたんだけど、書いてなかった。

Ethnaのインストール

前回までで、

  • apache2
  • php4.4
  • mysql4.1
  • pear

が使えるようになったのでした。ここまで来ちゃえば、あとは簡単です。

C:\php>pear channel-discover pear.ethna.jp
C:\php>pear install ethna/ethna

実はいくつかnoticeが出たりしてたんですが、それは直しました。Console_Getoptはとうとうphp4を見捨てたようなので、とりあえずな対応。

テスト

C:\Documents and Settings\ichii386\My Documents\htdocs>ethna add-project aho
creating directory (C:\Documents and Settings\ichii386\My Documents\htdocs/aho) [y/n]:

で y を入力してリターン。ちゃんと aho プロジェクトができあがりました…。

あれ?

なんかフォーラムにはエラーがどうこうって書いてあったのに、こっちでは再現しません。うーむ。

で、メーリングリストで聞いてみたところ、どうもPEARが複数インストールされているときに、途中でinclude_pathを変更している前後で別のPEAR.phpを見に行ってしまうとのこと。

2.3.0ではinclude_pathの後ろにプロジェクトのlibディレクトリを追加していたんですが、2.3.1では前に入れるようにしました。これはEthnaが複数インストールされているときの対応で、ethnaコマンドを起動したディレクトリと実際にクラスを探すディレクトリが違ってしまうことを避けるためだったのでした。

つまり、Ethna.phpをrequireする前にinclude_pathを書き換えていたんですが、PEAR.phpをrequireする後だったためにこういう問題が発生していたのでした。って、windows関係ないじゃん! この問題はちょっとテストしたらコミットすることにします。

windowsでの一般的な環境??

ようするに、「Ethnaが複数入ってる」という特殊な環境用の修正によるバグで、普通はどっちでも関係ないつもりでした。しかし、「PEARが複数入ってる」というのはwindowsではそれほど特殊ではないのかもしれません。

そんな意味で、これまで書いてきたwindowsのインストール方法は一般的な環境ではなさそうな気がしてきました。やっぱxamppなんでしょうか? でもPEARが複数入ったりするのかな。.pearrcの扱いがどうなっているのか(system/userの設定の切替えとか)がすごい気になってきます。