Ticket #515 (closed 改善提案: 修正済)

Opened 11 years ago

Last modified 8 years ago

PHP 5.3.0対応

Reported by: AMUAMU Owned by: somebody
Priority: Milestone: EC-CUBE2.12.2
Component: フロント Version: コミュニティ (eccube-comu)
Keywords: Cc:
修正済み: no

Description (last modified by nanasess) (diff)

 http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=4224&forum=4&post_id=19062

PHP5.3.0への対応

暫定対応として

新しいエラーの表示抑制、timezoneの扱い

恒久的対応として

非推奨関数を利用している部分の置き換え

Attachments

ereglist.txt Download (28.9 KB) - added by miningbrownie 10 years ago.
find data/ -exec grep -n ereg {} \; -exec echo ============={}=============== \; > ereglist.txt

Change History

comment:1 Changed 11 years ago by AMUAMU

r18185 にて暫定対応のうちエラー表示抑制の修正しました。PEARモジュールでE_USER_DEPRECATEDが使われそうな雰囲気なので、~E_USER_DEPRECATEDも含めました。 timezone設定はどこに置くのが良いのか微妙なので修正していません。

comment:2 Changed 11 years ago by nanasess

  • Description modified (diff)
  • Milestone changed from EC-CUBE2.x.x to EC-CUBE2.5.0

comment:3 Changed 10 years ago by Seasoft

  • Version changed from 2.4.0 to コミュニティ (eccube-comu)

comment:4 Changed 10 years ago by nanasess

エラー表示抑制は, version-2_4-dev r18669 でマージしました.

comment:5 follow-up: ↓ 11 Changed 10 years ago by nanasess

複数選択リストなど, リクエスト内容が配列となるフィールドに対して EXIST_CHECK を行なっている箇所があります.

source:branches/version-2_4-dev/data/class/pages/admin/contents/LC_Page_Admin_Contents_CSV.php#L170

PHP5.3 以降は, 空の配列がリクエストとして渡るため, 配列の場合は EXIST_CHECK が正常に動作しません.

comment:6 Changed 10 years ago by nanasess

エラー表示抑制を, version-2_4 r18702 でマージしました.

comment:7 Changed 10 years ago by Seasoft

コミュニティ版 関連チケット (記述漏れと思われる部分の記録です)

r18208

Changed 10 years ago by miningbrownie

find data/ -exec grep -n ereg {} \; -exec echo ============={}=============== \; > ereglist.txt

comment:8 Changed 10 years ago by AMUAMU

PHP5.3以降から、携帯サイトの動作に重要な session.use_only_cookies のデフォルト値が0から1に変わりました。1の場合、携帯サイトが正常に動作しないため設定を追加する必要があると思われます。 取り急ぎ備忘録として。

comment:9 Changed 10 years ago by kickgo

PHP5.3以降から、携帯サイトURLにGETで値を渡すとループしてしまう現象がありましたので、ご報告させて頂きます。
 http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=6972&forum=8&post_id=33552#forumpost33552

comment:10 follow-up: ↓ 13 Changed 10 years ago by AMUAMU

r19692 にて、 session.use_only_cookies の設定をするよう修正。 r19690 にて、 SC_Query内の非推奨関数を除去修正。

comment:11 in reply to: ↑ 5 Changed 10 years ago by AMUAMU

nanasess への返信

PHP5.3 以降は, 空の配列がリクエストとして渡るため, 配列の場合は EXIST_CHECK が正常に動作しません.

r19741 にて修正。

comment:12 Changed 10 years ago by nanasess

  • Milestone changed from EC-CUBE2.5.0beta to EC-CUBE2.5.1(仮)

comment:13 in reply to: ↑ 10 Changed 10 years ago by nanasess

AMUAMU への返信

r19692 にて、 session.use_only_cookies の設定をするよう修正。

data/class/session/sessionfactory/SC_SessionFactory_UseRequest.php にも必要でしょうか? 設定が冗長になっている可能性もあります.

=== modified file 'data/class/session/sessionfactory/SC_SessionFactory_UseRequest.php'
*** data/class/session/sessionfactory/SC_SessionFactory_UseRequest.php  2010-12-31 14:23:49 +0000
--- data/class/session/sessionfactory/SC_SessionFactory_UseRequest.php  2011-01-05 13:36:18 +0000
***************
*** 183,188 ****
--- 183,189 ----
          // セッションIDの受け渡しにクッキーを使用しない。
          ini_set('session.use_cookies', '0');
          ini_set('session.use_trans_sid', '1');
+         ini_set('session.use_only_cookies', '0');
  
          // パラメーターから有効なセッションIDを取得する。
          $sessionId = $this->getSessionId();

comment:14 Changed 10 years ago by shutta

PHP5.3での非推奨関数split()をexplode(),preg_split()へ置き換え。(r20428)

comment:15 Changed 10 years ago by kotani

  • Priority changed from to
  • 修正済み unset

comment:16 Changed 9 years ago by kajiwara

  • Milestone changed from EC-CUBE2.11.1 to EC-CUBE2.11.2

本チケットは引き続きの対応とします。

comment:17 Changed 9 years ago by kajiwara

php5.3環境での不具合事象を更に具体的に募集しています。

本件は引き続き、対応します。

comment:18 Changed 9 years ago by kajiwara

  • Milestone changed from EC-CUBE2.11.2 to EC-CUBE2.11.3(仮)

comment:19 Changed 9 years ago by shutta

SC_Utils::sfInitInstall()中の非推奨関数ereg()を置き換え。(r21204)

comment:20 Changed 9 years ago by kotani

  • Milestone changed from EC-CUBE2.11.3 to EC-CUBE2.11.4(仮)

comment:21 Changed 9 years ago by kotani

  • Milestone changed from EC-CUBE2.11.5 to EC-CUBE2.12.0alpha

comment:22 follow-up: ↓ 23 Changed 8 years ago by shutta

r21755 にて、非推奨なereg系関数の書き換えを行なった。

ereg系関数に関しては、全て対応したつもりです。

comment:23 in reply to: ↑ 22 Changed 8 years ago by shutta

shutta への返信

r21755 にて、非推奨なereg系関数の書き換えを行なった。

ereg系関数に関しては、全て対応したつもりです。

html/install/index.php への対応が漏れていたので対応。(r21756)

あと、 data/module/SearchReplace.php にて、1箇所ereg_replaceが使用されているが、
このクラスはどこからも使用されていないっぽく、検証できないので未対応。

comment:24 Changed 8 years ago by h_yoshimoto

  • Milestone changed from EC-CUBE2.12.2 to EC-CUBE 2.12.3

comment:25 Changed 8 years ago by kim

  • Status changed from new to closed
  • Resolution set to 修正済
  • Milestone changed from EC-CUBE2.12.3 to EC-CUBE2.12.2

shutta様 ありがとうございます。こちら、2.12.2で対応終えたものとして、クローズさせていただきます。

Note: See TracTickets for help on using tickets.