タスク管理基盤 調査(OpenTask)
フリーで使えるタスク管理ソフトウェア「OpenTask」を自宅環境にインストールしてみた。
PHPにて動作するため、Webサーバの構築が必要だが、めんどくさいので、Windows Vista + XAMPPで代用。
自宅環境ぐらいなら、これで十分。
OpenTaskのバイナリダウンロード
http://opentask.jp/opentask_1_0.zipから入手。
さっそくXZMPPの公開ディレクトリhtdocsに格納。ブラウザからアクセス。
。。。。うごかない。$endがどーたらとエラー
googleで調べてみると、short_open_tag = Onにするといいらしい。
xzmpp/php/php.ini、short_open_tag = Onに変更。
再度ブラウザでアクセス。
・・・・うごかない。こんどはCB.phpのrequire_once WEBAPP_DIRのパスが無い、などエラーが。
ファイルはあるみたい。
と思って表示を見ているとパス中にwebappの文字が2回。
???そりゃパスが違うわ。と思ってソースを見たけど、PHPはよーわからん。
ソースコードと格闘すること1時間。すごく単純な原因でした。
define('ROOT_DIR' , preg_replace("/\/webapp$/is","",dirname(__FILE__)));
としているwebapp部分をパスから取り除いている処理があるんだけど、上記はLinux環境では
有効(PATHが/で区切られるため)だけど、Windows環境では\webappになってしまい、うまく
取り除けていないことが判明。
わかってしまえばなんてことないけど、時間がかかった。。。。。
結局、windows環境ではdefineを切り変える(DIRECTORY_SEPARATORをチェックする)コードを作成して動作検証。
if ('/' == DIRECTORY_SEPARATOR) { define('ROOT_DIR' , preg_replace("/\/webapp$/is","",dirname(__FILE__))); }else { // 回避コード。Windowsだったら、以下の正規表現で¥マークも含めて取り除く。 define('ROOT_DIR' , preg_replace("/\\\webapp$/is","",dirname(__FILE__))); }
うまく動いた。