オートアップデートできません。

バージョン5になってからは、オートアップデートということで、今回インストール後初めて、管理画面に更新の文字が表示されたため、パスを入力後、アップデート開始をクリックしましたが、次のエラーになってアップデートできませんでした。

2024-06-01 15:06:17 error: Composer によるアップデートが失敗しました。update ログを確認してください。
2024-06-01 15:06:17 error: A script named install would override a Composer command and has been skipped
./composer.json has been updated
Running composer update baserproject/baser-core --with-all-dependencies
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

Problem 1
- Root composer.json requires PHP extension ext-xdebug * but it is missing from your system. Install or enable PHP’s xdebug extension.

To enable extensions, verify that they are enabled in your .ini files:
- /usr/local/php/8.2/etc/php.ini
You can also run php --ini in a terminal to see which files are used by PHP in CLI mode.
Alternatively, you can run Composer with --ignore-platform-req=ext-xdebug to temporarily ignore these required extensions.

Installation failed, reverting ./composer.json and ./composer.lock to their original content.

xdebugは、ロリポップのPHP設定画面から有効にしています。
解決方法か、手作業でのアップデート方法がありましたら教示お願いします。

【環境情報】
・baserCMSのバージョン:5.0.15
・レンタルサーバー名:ロリポップ エコノミー
・使用テーマ:オリジナルでまだテーマの5への変換は行っていない。
・PHPスキル(自己評価): 全くわからない

こちらの方法でSSHからアップデート出来ないでしょうか?

コメントありがとうございます。ロリポップのエコノミー契約の場合SSHが利用できないのです。

@tky.yuuki xdebugの問題が過去にあり、こちらのコミットで解消された経緯があります。

こちらを参考に composer_installer.php を変更してから、アップデートを再実行してみてもらえますか?

@ryuring 私の問題では、ここは修正版が適用されていました。

composer_installer.phpを確認したところ、下記のようにすでに新しいものになっていました。

@dbkaiyu
こんにちは。
私の環境でも試してみましたが、確かに再現しましたので、Issueを作成しました。
baserCMSコアのアップデートがxdebug不足により失敗する #3509

暫定的な解決方法も記載しておりますが、その場しのぎな対応になりますので
もしお試しになる場合はバックアップ等を取得した上で作業をお願いします。

@ryuring
お手数ですが、Issueについて確認いただければ幸いです。
よろしくお願いします。

「いいね!」 2

@akasky こんにちは。コメントありがとうございます。
早速試してみようと思いましたが、私のインストールした環境には、

basercms/plugins/baser-core/src/Utility/BcComposer.php

というファイルが見当たらないため、ファイルを修正できません。どこにあるのでしょうか??

@dbkaiyu
baserCMSインストール後は下記ディレクトリに入っています。
ご確認くださいませ。

vendor/baserproject/baser-core/src/Utility/BcComposer.php

「いいね!」 1

@akasky 早速試してみました…が… :sleepy:


前回と違って、アップデートは動いたようですがエラーになりました。

2024-06-11 18:16:20 info: BaserCore プラグイン 5.0.18 へのアップデートを開始します。
2024-06-11 18:16:20 info: BcBlog プラグイン 5.0.18 へのアップデートを開始します。
2024-06-11 18:16:20 info: BcContentLink プラグイン 5.0.18 へのアップデートを開始します。
2024-06-11 18:16:20 info: アップデート処理が途中で失敗しました。
2024-06-11 18:16:20 info: SQLSTATE[HY000]: General error: 1 table content_links already exists
2024-06-11 18:16:20 error: Migration と アップデーターによるアップデートが失敗しました。
2024-06-11 18:16:20 error: Composer によるアップデートが失敗しました。update ログを確認してください。
2024-06-11 18:16:20 error: sh: php: command not found

そして、環境情報をみても、バージョンは5.0.15のままですが、更新の表示がされなくなりました。

@dbkaiyu
うーん、どうやら別のバグ?なのかは分かりませんが、
別の方からも質問のあった事象に合流したようですね。

私の環境では初期データが入った状態だったのですが、
失敗→成功でも特に問題がなかったので、別途条件がありそうですね。

上記質問でも調査している有識者の方がいらっしゃるようですが、
私の方でも少し調べてみます。

アップデートが正常に完了できるところまで導けず申し訳ないです :melting_face:

「いいね!」 1

@akasky 同じエラー?のようですね。同じく、SQLiteで動かしているのでそのあたりかもしれません。

問題としては、

  • アップデートができない。
  • 5.0.15なのにアップデートが表示されなくなったこと。

解決方法を待ちます。

@ryuring こんにちわ。やっと時間がとれたので作業を進めているとこです。

こちらの事象と同じと考えて、パターン2で試したところ、ログが作成されません。

  1. bc_content_link_phinxlog のレコードを確認

image

サブフォルダに設置しているため何か手順がちがうのでしょうか?

@dbkaiyu
パターン2の実施についてですが、

  1. ブラウザで次のURLにアクセス

アクセスした時にブラウザ上には何が表示されてますか?
例えば、私の環境の場合は以下のような結果が表示されました。

image

@akasky コメントありがとうございます。
ブラウザ上には、

// migrate.php

とだけ表示される状態です。

@dbkaiyu
少し書き換えないとエラーログが出ないようですね・・・。

お手数ですが、migrate.phpの4行目を以下の通り変更・保存して
再度アクセスしてみてください。

変更前:$command .= '/bin/cake migrations mark_migrated -p BcContentLink';
変更後:$command .= '/bin/cake migrations mark_migrated -p BcContentLink 2>&1';

もし失敗であればエラーが表示されるはずです。

「いいね!」 1

@akasky
返信ありがとうございます。次のエラーが表示されました。

sh: /home/users/0/○○/web/bs5/bin/cake: Permission denied

実行できていないよう?

@dbkaiyu /bin/cake に実行権限がないのかもしれませんね。

ただ、BcUpdateSupporterプラグインを利用すると、管理画面から、/bin/cake migrations mark_migrated と同等の処理を行えるようになりました。

5.0系の場合は、こちらから対応版をダウンロードしてください。

インストール後、「マイグレーション済みとしてマーキング」を実行します。

「いいね!」 1

@ryuring コメントありがとうございます。

プラグインを入手してインストールできました。そのあと、「マイグレーション済みとしてマーキング」を実行したところ、画面上部にエラー表示がでました。
image

アップデートのほうエラーとなってアップデートできていない状態です。

現在のバージョン状況の表示は以下のとおりです。

BaserCore の利用可能なバージョン: 5.1.2
BaserCore の現在のバージョン: 5.0.18
アップデートプログラムが 1 つ あります。

@dbkaiyu こちらで、5.0.18の環境を準備して実行したところ、エラーは再現できませんでした。

原因が分からないので、もう一回、コマンドラインで調べたいですね。

sh: /home/users/0/○○/web/bs5/bin/cake: Permission denied

上記のメッセージが表示されたとのことですが、cake ファイルに実行権限を与えた上で再度、実行して頂けますか?

chmod 755 /home/users/0/○○/web/bs5/bin/cake 
「いいね!」 1

@ryuring 早速のコメントありがとうございます。

cake のファイルに755を与えてから、再度実行しました。
image
アップデートのほうも失敗します。