concrete5 のアップデートで失敗してしまったときの対処法
アップグレードスクリプトのバグとアップグレード時の処理がタイム・アウトしてしまった可能性が考えられます。
バグの場合
バグであればどういう条件でこのバグが発生するか、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/
配下です。
Author And Source
この問題について(concrete5 のアップデートで失敗してしまったときの対処法), 我々は、より多くの情報をここで見つけました https://qiita.com/katzueno/items/74f289171ddbf9c81f1e著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .