EC-Cube 4.0.5 → 4.0.6p2へのバージョンアップを試みる
プラグインを利用してアップデートを行う。
参考ページ)
https://www.ec-cube.net/products/detail.php?product_id=2277
(1)事前準備
アップデートを実行する前に、以下の設定をご確認ください。
・xdebugが有効になっている→xdebugを無効にする
・memory_limitが128M→memory_limitを512Mに設定
・max_execution_timeが30→max_execution_timeを180に設定
今回のアップデート対象サーバでは、上記全てクリアしており、特に作業は不要だった。
(2)データのバックアップを取る。
フォルダ丸ごとコピーをとり、データベースはエクスポートしてバックアップ。
(3)EC-Cubeをメンテナンスモードにする。
(4)EC-CUBEアップデートプラグイン(4.0.5〜4.0.6)をインストール
(5)プラグイン有効化
再生ボタンのようなものをクリック。
(6)プラグインの設定を開く
歯車をクリック
(7)プラグインの対応状況の確認
(8)書込権限の確認
(9)ファイル更新の確認へ
ソースをカスタマイズしている場合には、アップデートで変更内容が消えてしまうため、警告してくれているものと思う。親切。
後でバックアップとの差分を見て、必要であれば、上書き後に反映すれば良い。
(10)最新バージョンで上書き
(11)エラー発生の対応
システムエラーが発生してしまった。
原因が全くわからない。
php.iniでPHPのエラー表示をONにすると・・・。
Warning: include(<PATH>/vendor/composer/../../app/proxy/entity/src/Eccube/Entity/Product.php): failed to open stream: No such file or directory in <PATH>/vendor/composer/ClassLoader.php on line 444
Product.phpがないとのこと。
ディレクトリを調べるとたしかになかった。なくなっていた。
よって、バックアップからapp/proxy/entity/src/Eccube/Entity/Product.phpをコピーする。
エラー発生しなくなった。
参考ページ)
https://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=27424&forum=11&post_id=108747
(12)アップデート完了
ログイン画面へアクセスすると、「ファイルの更新が完了しました。引き続き、データの更新を行ってください。」とのメッセージ。
これでアップデートが完了した。
(13)メンテナンスモード無効化
(14)キャッシュ削除
これは念の為。