[Codeigniter-users] SVN版にバグあり (リビジョン:1718)

Back to archive index

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




Codeigniter-users メーリングリストの案内
Back to archive index