kunitsuji
tsuji****@m-s*****
2009年 8月 7日 (金) 10:54:12 JST
kunitsujiです。 こんにちは。 昨日公開された、というのはSVN上のバージョンでしょうか? >decoyです。 > >現在、SVNに上がっているCodeIgniterですが、 >PHP5で実行すると必ずfatalエラーになってしまうようです。 > >原因は、下記のとおりです。 > >昨日公開された system/codeigniter/CodeIgniter.php の >61行目のPHP5.3かどうかを判断する部分で is_php() の第一引数に5.3(float型)を渡 >していますが >渡した引数を内部でキーとして使っている為、is_php() に5.3を渡しても5として扱わ >れてしまいます。 >(つまり、5.3かどうかを判断するはずの部分で「5ではない」という判断になってしま >います。) > >その為、その後のPHP5かどうかを判断する部分(system/codeigniter/CodeIgniter.php >の137行目)で >PHP5でも、PHP4として扱われてしまい、Fatal error: Call to a member function >_ci_autoloader() on a non-object in >C:\home\codeigniter_svn\system\libraries\Controller.php on line 83 が必ず出て >しまいます。 > > >回避策は主に下記の2つかと思われます。 > >1. system/codeigniter/CodeIgniter.php の61行目を下記のように書き換える。 > > if ( ! is_php(5.3)) → if ( ! is_php('5.3')) > → float型ではなく、system/codeigniter/Common.php の41行目で実施しているよ >うに、string型で渡す > > >2. system/codeigniter/Common.php の is_php() の中で$versionを強制的にstring型 >へキャストする。 > → is_php() に引数を渡す際にfloat型の場合のみ '' で括ってstring型にするのが > > 面倒くさい場合は、この方法もアリかなと思ってます。 > > >以上です。 > >// decoy > >_______________________________________________ >Codeigniter-users mailing list >Codei****@lists***** >http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users