【環境情報】
・baserCMSのバージョン:5.0.1
・レンタルサーバー名:バリュードメイン Core Server v1
・使用テーマ:bc_sample
・PHPスキル(自己評価):コードは読めます。
5.01から自動アップデートを実行したところ「 Internal Server Error」が発生します。
どのようにしたら回避できるかご存知の方はいませんでしょうか。
binにあるcakeへ実行属性を付けたのが’良くなかったのでしょうか…
※これをしないと自動アップデートが起動?されません。。。
・実施したサイトはトップページも管理ページも開かなくなってしまいました。
※原因が分からず諦めました。
・新規でサイトを構築しbasercmsをインストール
5.0.1をあえて導入し、直後のアップデート実行でも同様の内容が発生しています。
500エラー後、トップページと管理ページは一応開くようです。
失敗後、トップページを再度開き、再度アップデートしたらトップページも管理ページも開かなくなる症状が再現。
@hitochan こんにちは。
/logs/update.log
の内容はどのようになってますか?
確認しましたが、update.logは出力されていませんでした。
エラーログには
2023-07-27 03:44:16 notice: Adding validation rules without a name key is deprecated. Update rules array to have string keys.
/<Serverのフォルダ>/vendor/baserproject/bc-custom-content/src/Model/Table/CustomLinksTable.php, line: 81
You can disable all deprecation warnings by setting Error.errorLevel
to E_ALL & ~E_USER_DEPRECATED
. Adding vendor/baserproject/bc-custom-content/src/Model/Table/CustomLinksTable.php
to Error.ignoredDeprecationPaths
in your config/app.php
config will mute deprecations from that file only.
のようなエラーが数多く出力されていました。
いくつかわかったことがあります。
・tmpフォルダを消すと「Internal Server Error」にならずサイトのアクセスが可能となった。
・他の書き込みであった「composer.phar」をSSHで実行する方法のアップデートは成功する。
※5.0.4まで上がりました。
管理コンソール上でアップデートすると何かが壊れてしまうようです。
@hitochan フィードバックありがとうございます。
エラーログの内容については、既知のものになります。
PHP8の非推奨処理についてbaserCMSが対応していないものがあり、エラー表示設定で通常は抑制しているのですが、それが出てしまっているものになります。
・tmpフォルダを消すと「Internal Server Error」にならずサイトのアクセスが可能となった。
もしかしたら、tmp 内のキャッシュファイルが影響していたのかもしれないですね。
・他の書き込みであった「composer.phar」をSSHで実行する方法のアップデートは成功する。
うまくいかない場合はこちらを推奨するしかないですね、アップデート画面や、公式ガイドに記載しておきたいと思います。
@hitochan こちらの件、調査を進めたところ、Core Server では、内部的にPHPのコマンドを実行する際、CLI版のPHPが明確に指定されないとうまく動作しないという問題に起因するようでした。
Internal Server Error になる原因は、CakePHPのコマンド実行時に、CLI版のPHPでないことが原因でした。
なお、この問題は、baserCMS5.0.2 で解決済でした。取り急ぎご報告まで。
committed 11:19AM - 25 May 23 UTC
@hitochan さらにドキュメント更新しておきました。
ご連絡ありがとうございます。
現状、5.0.4までコマンドによりアップデートしていますので、次回アップデートのときにGUIから進めてみます。