その他 > その他 > PHP 5.3.0リリース |
その他
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
AMUAMU |
投稿日時: 2009/7/12 15:10
対応状況: −−−
|
神 登録日: 2009/5/2 居住地: 東京都 投稿: 2712 |
Re: PHP 5.3.0リリース PHP5.3.0にEC-CUBE 2.4.1をインストールをしてみました。
以下のPHP側の機能修正に引っかかって問題が出る状態ですが、ちょっとした修正で動作は問題無さそうです。 問題の概要 (1)新しいエラーレベルでエラーがたくさん表示される。 (2)date関数におけるタイムゾーン設定が必須。 (1)のポイント 該当するPHP5.3の変更点 引用: PHP 5.3.0 では新しく二つのエラーレベルが加わりました。 E_DEPRECATED と E_USER_DEPRECATED です。 E_DEPRECATED エラーレベルは、 特定の機能が推奨されないことを示すのに使います。 E_USER_DEPRECATED エラーレベルは、ユーザー定義のコードで推奨されない機能、たとえば E_USER_WARNING のようなものを示すのに使うべきです。 EC-CUBEではE_DEPRECATEDがたくさん出ます。 主に同梱しているPEAR moduleが古い事に起因していますが、EC-CUBE自体にも以下の問題があります。 引用: 注意: PHP 5.3.0 以降、 regex 拡張モジュールは非推奨となりました。この関数をコールすると E_DEPRECATED が発生します。 これに引っかかります。 EC-CUBE内部を見るとereg_replaceが多用されてるのが原因ですね。 ここらへんは将来的には全面的に置き換えが必要かと思われますが今はエラー抑制で動作は問題無し. あと、その他の関数面で下記URLを見る限り http://www.php.net/manual/ja/migration53.deprecated.php ・fpdf内でset_magic_quotes_runtime関数 ・split関数 ・DBモジュール内でmysql_escape_string あたりが非推奨になっています。 とりあえず、これらに関してもE_DEPRECATEDが出ないように抑制する修正で動作的には問題無いです。将来的な問題はありますが・・・ まぁバージョン上がると非推奨じゃなくなることもあるので、何とも言えないですが (2)はちょっとめんどくさいです PHP5.3からは環境変数TZを使わなくなったようで、timzoneの設定を必須としています。 引用: date_default_timezone_get() ということで、date関係の関数がWARNINGを頻発し、環境によっては時間が正常に取れないっぽい? INI設定でdate.timezone を設定してもらうことを要求するのが正しい形になると思いますが、ここらへんも色々な環境に対応するにはどうなんだろう? 私はdefine.phpに
と足して取りあえず抑制しましたが、これは正当派じゃないよなーと思っています。
|
フラット表示 | 前のトピック | 次のトピック |
題名 | 投稿者 | 日時 |
---|---|---|
PHP 5.3.0リリース | zephy | 2009/7/1 15:15 |
» Re: PHP 5.3.0リリース | AMUAMU | 2009/7/12 15:10 |
Re: PHP 5.3.0リリース | nanasess | 2009/7/12 18:32 |
Re: PHP 5.3.0リリース | tao_s | 2009/7/12 22:18 |
Re: PHP 5.3.0リリース | AMUAMU | 2009/7/13 0:43 |
Re: PHP 5.3.0リリース | nanasess | 2009/7/13 10:31 |
Re: PHP 5.3.0リリース | ramrun | 2009/8/21 19:08 |
Re: PHP 5.3.0リリース | seasoft | 2009/8/22 2:20 |
Re: PHP 5.3.0リリース | ramrun | 2009/8/22 12:29 |
Re: PHP 5.3.0リリース | nachos | 2009/8/31 2:59 |