decoy
youtu****@gmail*****
2009年 8月 7日 (金) 23:04:36 JST
decoyです。 今、SVNで確認したところ、バグは解消されていました。 どのように直したのか確認したところ、 どうやら下記の私が挙げた回避策をそのまま2つとも実施したようです。(笑 ここでもバグについて語られてますね。 http://codeigniter.com/bug_tracker/bug/8475/ // decoy ----- Original Message ----- From: "decoy" <youtu****@gmail*****> To: <codei****@lists*****> Sent: Friday, August 07, 2009 12:24 PM Subject: Re: [Codeigniter-users] SVN版にバグあり (リビジョン:1718) > 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 >>