LoginSignup
0
0

More than 5 years have passed since last update.

concrete5 のアップデートで失敗してしまったときの対処法

Last updated at Posted at 2019-02-12

アップグレードスクリプトのバグとアップグレード時の処理がタイム・アウトしてしまった可能性が考えられます。

バグの場合

バグであればどういう条件でこのバグが発生するか、concrete5 を新規でインストールしてからの変更がどのようなものかを検証し、再現する必要があります。

普段のアップデートでは問題が無いので、何か多くの方が行っていない concrete5 の設定の変更などがバグのトリガーになっていると思います。

どの設定を変更したからアップデートを失敗してしまったか、というのを再現手順のステップと concrete5 の GitHub か日本語フォーラムで報告してもらえば、治せるかどうか確認してくれると思います。

アップグレードタイムアウトの場合

アップグレード時の処理がタイム・アウトされてしまった可能性について説明します。

まず、ブラウザではなく、SSH から concrete5 の CLI を使ってアップデートを試み、成功すればタイムアウトが原因です。

PHP の max_execution_time が小さいと、これらのアップデートの時間が足りなくなり、ブラウザだと、最後までアップデートが走らない場合があります。

CLI でのアップデートの方法

/[c5 までのパス]/concrete/bin/concrete5 c5:update コマンドでアップデートをします。それがダメであれば --rerun オプションを使って、アップデート再度走らせます。 --after オプションを使うことで、アップデート前のバージョンを正しく指定してアップデートのスクリプトをすべて走らせることが可能です。



concrete/bin/concrete5 c5:update --rerun --after=8.2.1

サーバーが apache や nginx ユーザーとして実行している場合は
sudo -u apache か
sudo -u nginx を
つけて実行する必要があります。

開発者向けの参考情報

アップグレードの際、concrete5 では Migration スクリプトを走らせています。

concrete5 過去のバージョンからアップデートする際 concrete5 内で変更がある場合があります。データベースの構造が変わったり、管理画面のページが増えたり、デフォルトのページ属性が増えたりします。

それらの変更が各バージョンごとに、バージョンがリリースされた日付で変更を適用する PHP スクリプトが入っています。

参考までにそのスクリプトの場所は

/concrete/src/Uddater/Migrations/Migrations/

配下です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0