decoy
youtu****@gmail*****
2009年 8月 7日 (金) 12:24:52 JST
decoyです。 SVN上のものになりますね。 (system/codeigniter/CodeIgniter.phpのコミット日が8/5でした。) まぁ、SVN上なので「(下記のような)不具合があるものもアップされることもある」 と言われれば、それまでかもしれません。 // decoy 2009/08/07 10:54 に kunitsuji<tsuji****@m-s*****> さんは書きました: > 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 > > _______________________________________________ > Codeigniter-users mailing list > Codei****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users >