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

Back to archive index

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
>




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