突然添付画像のようなデバッガー画面が表示され、ログインもできなくなってしまいました。
数日前にも同じことが起こったのですが、そのときはログイン中のブラウザがあったため、そちらから更新、公開をすることで復旧できましたが、今回は全て閉じており復旧できない状態です。
デバッガーが示す意味がそもそも分かっておらず、何が問題なのか、どうすれば復旧できるのかが分からない状況で、コミュニティ等、Web検索でも私の知識では解決できませんでした。
使用しているサーバーは XServer で、ブラウザはFirefox 125.0.2 (macos) ですが、Chromeでも同様です。
どうか、お知恵をお貸しください。
よろしくお願いします。
@7thnote こんにちは。
concretecms_debugbar というパッケージをインストールしましたか?
それに関係するファイルがサーバー上で無くなっているかもしれません。
ファイルをアップし直してみてください。
@katz515 さん、
情報ありがとうございます。
自分でそのようなパッケージをインストールしようとした記憶がないのですが、最近、サーバーを新しい機種に移行できるとのことで18日に移行しました。
それまではこのようなエラーが出たことがなかったのですが、移行後数日後に出て、そのときは質問内容にも書いたように、たまたまダッシュボードにログインした状態のブラウザが残っていたので、そこから保存、公開とすることで復旧できました。
エラーメッセージから色々検索して Debugbar というパッケージが関係するというところまでは分かったのですが、正確なパッケージ名も分からず、そもそもダッシュボードにも入れなかったため、sshで入りcomposerで削除しようとも思ったのですが、使い方を把握しきれず、正確なパッケージ名も分からずで、途方に暮れていました。
bin/concrete5 をコマンドで実行させ、キャッシュクリア等も試みましたが、同じエラーが出てうまく動きませんでした。
XServerのサポートに問い合わせたところ、移行前のサーバーは14日間アクセスできるとのことでしたので、先ほどPCのhostsを書き換えて旧サーバーアクセスしたところ、当然ダッシュボードにもログインでき、管理画面から機能追加を見たところ、PHP Debug Bar for Concrete CMS という名前でインストール待ちとして挙がっていました。
おそらくサイト制作中にこれをインストールしようとしたのかか、そのあたりはもう記憶がないのですが、とりあえず移行直後では正常に動いていたので、現在、18日の状態にWEB環境とSQLをバックアップから戻している最中です。
もしこれでうまく復旧できればインストール待ちリストから削除したいのですが、旧サーバーで機能追加のページを見てもリクエストをキャンセルする方法が分かりませんでした。
そもそもこのパッケージが必要なのか、なぜリストに挙がっていたのかも分からない状態です。
今回のトラブルで、PHPのバージョンが稼働させているconcrete CMSのバージョンに非対応だったことも分かり、新サーバーではPHPのバージョンを上げてみましたが、それでは解決できなかったです。(現在は完全に移行直後の状態に戻すため、PHPのバージョンもそのときのバージョンに戻しています)
とりあえず全て移行直後の状態に戻して、うまく動けばPHPのバージョンを上げるところから進めていこうと思います。
CMSのバージョンも初めて入れたのが5.xだったのに対し、現在は9.2.5にまで上がっていました。自動更新の設定も見当たらないので、おそらく自分で更新して記憶から飛んでいるのだとは思いますが…
サーバーの復元にはまだ時間がかかるようですので、完了次第また報告させていただきます。
ありがとうございました。
先ほどサーバーの復元が終わり正常に動作するようになったので、早速PHPのバージョンを7.4.33から8.1.22に上げてみたところ、内容は違うもののまたエラー画面が表示されました。(焦ってスクリーンショットを撮らずにPHPを戻してしまいました)
すぐに7.4.33に戻したらとりあえずは正常に動いていたので、消えてしまった新着情報を一つエントリーし、とりあえず現在は正常に表示されています。
しかしこのまま放置すると、おそらく前回同様また同じようなエラーが出そうなので、管理画面に入れているうちに対策をしたいのですが、PHP 8.1.22は、今使っている concrete CMS 9.2.5 に対応していると思うのですが、PHPのバージョンを変更する際には何か事前に作業が必要なのでしょうか。
今回は管理画面にログインした状態のままPHPのバージョン変更をしましたが、それが原因だったのでしょうか。
あと、DebugBar を “インストール待ち” から外す方法、もしくは今後も安定して稼働させるためには、どのようにすれば良いのか、その辺りの情報を入手できればありがたいです。
よろしくお願いいたします。
hissy
October 18, 2024, 8:05pm
5
遅レスですが
PHP7から8は大きな変更があるので、一般的にエラーが発生する確率は高くなります。しっかりと事前検証しエラーを潰してから変更するのが良いでしょう
DebugBarをインストール待ちから外すには、 packages/concretecms_debugbar フォルダをサーバーから削除するだけです。ただし、インストール済みである場合、フォルダを削除しても自動でアンインストールはされずエラーになりますので、インストール待ちであることは必ず確認してください。