バージョン選択

フォーラム

メニュー

オンライン状況

31 人のユーザが現在オンラインです。 (25 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 31
もっと...

サイト内検索

質問 > その他 > PHPバージョン5.3.27変更に伴うエラーにつて

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
umenoki
投稿日時: 2014/3/1 15:04
対応状況: −−−
新米
登録日: 2014/3/1
居住地:
投稿: 3
PHPバージョン5.3.27変更に伴うエラーにつて
はじめて投稿します。ほぼ初心者です。
よろしくアドバイスをお願いします。
[EC-CUBE] 2.4.3
[レンタルサーバ] kagoyaサーバ 共用
[PHP] PHP5.3.27
[データベース] MySQL 4.1.21
[WEBサーバ]
[ブラウザ] IE11
[現象] ECCUBE42.4.3を利用しており、現在借りている
レンタルサーバ会社のPHPのバージョンが
変更前PHPバージョン:PHP5.2.17
変更後PHPバージョン:PHP5.3.27になり、運営中のサイトがエラーで埋め尽くされている状態です。
とりあえずの対処法と、根本的な解決→ECCUBEのバージョンアップ
になるかと思いますが、その作業工程の分かりやすい方法があれば教えてください。よろしくお願いいたします。
snitta
投稿日時: 2014/3/1 16:50
対応状況: −−−
一人前
登録日: 2013/10/3
居住地: 島根県
投稿: 100
Re: PHPバージョン5.3.27変更に伴うエラーにつて
エラーの内容も転載して頂けるとより良い回答が得られます

まず暫定的な対応になりますが、発生しているエラーに合わせて修正が必要です。
PHP 5.3 への移行時で特に多いのは E_DEPRECATED の発生です。
http://svn.ec-cube.net/open_trac/browser/tags/eccube-2.4.3/data/class/SC_Initial.php#L102
この問題については上記個所を次のように修正して下さい。
    function setErrorReporting() {
        error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_USER_DEPRECATED);
    }


その他のエラーはPHP公式のサイトにある互換性の情報を元に逐次修正する事になります。
詳細は以下のページの「下位互換性のない変更点」をご参照くださいませ。
http://docs.php.net/manual/ja/migration53.php


次にバージョンアップの作業方法です。
こちらは現在使用しているカスタマイズ済みの 2.4.3 とデフォルトの 2.4.3 との差分を取り、差分から得られたカスタマイズの内容を新しいバージョンに適用します。
最期にデータベースのデータも新しいバージョンのスキーマに合わせて修正を行って完了、かなと思います。
個人的にはデータベースが一番面倒そうです


----------------
Seiji Nitta
zenith6@gmail.com
https://github.com/zenith6/

umenoki
投稿日時: 2014/3/1 23:08
対応状況: −−−
新米
登録日: 2014/3/1
居住地:
投稿: 3
Re: PHPバージョン5.3.27変更に伴うエラーにつて
迅速なご回答ありがとうございます、。エラーはページ内のヘッダーまでに数えられない行数で書かれています。またデザインないも画像も×になり、悲惨な状態です。


Deprecated: Assigning the return value of new by reference is deprecated in /home/kirアカウント/public_html/data/module/DB.php on line 475

Deprecated: Assigning the return value of new by reference is deprecated in /home/kirアカウント/public_html/data/module/DB.php on line 552

Deprecated: Assigning the return value of new by reference is deprecated in /home/kirアカウント/public_html/data/module/DB.php on line 1129

Deprecated: Assigning the return value of new by reference is deprecated in /home/kirアカウント/public_html/data/module/PEAR.php on line 557

Deprecated: Assigning the return value of new by reference is deprecated in /home/kirアカウント/public_html/data/module/PEAR.php on line 560

上記はほんの一部です。
バージョンアップは、データベースのバックアップをとって、例えば新しいphpに対応のeccubeをサーバーにインストール(上書き)するようなイメージでしょうか?
作業が完了するまでサイトは見れない状態でしょか。またバージョンによって対応してない箇所等はどうすればよいのでしょうか。ほんとに初心者ですみません。お願いいたします。
snitta
投稿日時: 2014/3/2 3:38
対応状況: −−−
一人前
登録日: 2013/10/3
居住地: 島根県
投稿: 100
Re: PHPバージョン5.3.27変更に伴うエラーにつて
順番にお答えさせて頂きます。

引用:
Deprecated: Assigning the return value of new by reference is deprecated in /home/kirアカウント/public_html/data/module/DB.php on line 475

E_DEPRECATED がまさに発生していますね。
先述の error_reporting() を修正する方法で解決いたします。

引用:
バージョンアップは、データベースのバックアップをとって、例えば新しいphpに対応のeccubeをサーバーにインストール(上書き)するようなイメージでしょうか?

はいそうです。
上書きするのか置換するのかについては事情に合わせて選択します。

引用:
作業が完了するまでサイトは見れない状態でしょか。

いいえサービスは可能な限り止めないように行います。
例えば新旧二つのEC-CUBEがインストールされた状態にしておき、新版が稼働できる状態になったら停止時間を取って新旧入れ替える、というのが方法の一つです。
停止時間の内訳は「旧版から新版のデータ変換(変換プログラムは事前に用意しておきます)+最終確認」ぐらいですね。

引用:
またバージョンによって対応してない箇所等はどうすればよいのでしょうか。

抽象的なご説明になり申し訳ないのですが状況に合わせて一つ一つ異なる対応が必要です。
「2.4.3 のここを 2.13.1 のここに移植したい」と言ったように具体的に分からない点をご質問して頂ければみなさんのご協力も得やすいです。


----------------
Seiji Nitta
zenith6@gmail.com
https://github.com/zenith6/

umenoki
投稿日時: 2014/3/2 23:42
対応状況: −−−
新米
登録日: 2014/3/1
居住地:
投稿: 3
Re: PHPバージョン5.3.27変更に伴うエラーにつて
ご丁寧に本当にありがとうございます。感謝です。何とか頑張ってみます。たぶんまたお聞きするかも知れませんがよろしくお願いします。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は89,106名です
総投稿数は110,038件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1649
8
red
1570
9
mcontact
1298
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.