バージョン5.1.0アップデート途中でサイトが表示できなくなりました。

@akasky さま ありがとうございます。
私の環境でも5.0.19をインストールしようとしたときに同様のエラーメッセージが出ました。
解決方法もご教示いただいたので,5.0.20がインストールできないときはこの方法で5.0.19を新規にインストールしようと思います。

インストールに失敗したbc5.0.20にて
トピック インストール画面でFatal error@akasky さんの対策法
vendor/baserproject/bc-installer/src/ServiceProvider/BcInstallerServiceProvider.php
33行目
protected array $provides = [
「array」の部分を削除
protected $provides = [
を試してみましたが、
データベースの選択画面は表示されましたが、先に進むと「HTTP ERROR 500」となりうまくいきませんでした。

追記
comportの公式サイトから直接「composer.phar」をダウンロードして、コマンドから手動で5.0.20をインストールをした場合も上手くいきませんでしたが、その時のログを参考までにアップロードしておきます。
5020install.txt (9.6 KB)

途中から失礼します。
まったく同じ状況では無いのですが、5.1.xで独自プラグインがインストールできなかったので、こちらに辿り着きました。

独自プラグインを有効化すると、「HTTP ERROR 500」となります。
たぶん、Cake\Http\Sever.php の、function run で処理が落ちているところまで確認しましたが、そこから先は現在も調査中です。
必要なcontainerが読まれていない、または不要なcontainerが混ざってる?、bootstrapあたりが怪しいのかなーとか思っています。

なお、5.0.xは、該当の独自プラグインは有効化できます。

該当の独自プラグイン

みなさま情報ありがとうございます。
一旦5.0系のインストールエラーについてはIssueをあげました。

@ryuring さま ご報告いたします。
5.0.20の新規インストールですが,SSHを利用したものの,うまくいきませんでした。
curl -s https://getcomposer.org/installer | php
上記のコマンドでcomposer.pharがインストールされたことを確認しました。

composer.phar install
こちらのコマンドは,ライブラリのインストールをしていない状態だと以下のメッセージが表示されました。
A script named install would override a Composer command and has been skipped
Installing dependencies from lock file (including require-dev)
Verifying lock file contents can be installed on current platform.
Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. It is recommended that you run composer update or composer update <package name>.

  • Required package “baserproject/baser-core” is not present in the lock file.
    This usually happens when composer files are incorrectly merged or the composer.json file is manually edited.

venderフォルダが空の状態なのでこのメッセージが出たのかと考えて,ライブラリのインストール後に実行すると以下のメッセージが表示されました。
A script named install would override a Composer command and has been skipped Installing dependencies from lock file (including require-dev) Verifying lock file contents can be installed on current platform. Your lock file does not contain a compatible set of packages. Please run composer update.

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.1.10/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.

私の環境にはxdebugがないということかと考えてコマンドの末尾に–ignore-platform-req=ext-xdebugを入れて実行してみましたが,インストールできませんでした。
何かわかることがありましたらよろしくお願いいたします。

@ciao-h さま
私は5.0.19のインストールでこの対策法をやってみました。
ライブラリのインストール後,Fatel Errorがでたので対策後にリロードし,インストール画面に進むことができました。
その後,データベースの接続チェックまではOKでしたが,そのあとに再びFatel Errorがでてうまくいきませんでした。
Fatal error: Type of BcBlog\Model\Entity\BlogPost::$_virtual must not be defined (as in class Cake\ORM\Entity) in /home/gihan/pub/gihan-page/vendor/baserproject/bc-blog/src/Model/Entity/BlogPost.php on line 0

これも 5.1.0 のコードでしか発生しないエラーなのでしょうか。何かわかることがありましたらよろしくお願いいたします。

5.0.20のインストールができなかったので,既存の5.0.19からSSHで5.0.20にアップデートしたところ,以下のような表示が出ました。
update.txt (3.9 KB)

  • Upgrading baserproject/bc-admin-third (5.0.19 => 5.1.0)のようなメッセージだったので5.0.20にアップデートしようとして5.1.0のものを取得してしまっているのかと考えています。

お二人が書き込まれていることと関係があるかと思い,ご報告します。
的外れだったらすみません。

@akasky さま

5.0.20のインストールがうまくいかなかったので,5.0.19のインストールでこの対策法をやってみました。
ライブラリのインストール後,Fatel Errorがでたので対策後にリロードし,インストール画面に進むことができました。
その後,データベースの接続チェックまではOKでしたが,そのあとに再びFatel Errorがでてうまくいきませんでした。
Fatal error: Type of BcBlog\Model\Entity\BlogPost::$_virtual must not be defined (as in class Cake\ORM\Entity) in /home/gihan/pub/gihan-page/vendor/baserproject/bc-blog/src/Model/Entity/BlogPost.php on line 0

これも 5.1.0 のコードでしか発生しないエラーなのでしょうか。何かわかることがありましたらよろしくお願いいたします。

@gihan @ciao-h @hideichi @akasky みなさま情報ありがとうございます。

調査したところ、5.0.17、5.0.18、5.0.19、5.0.20 について、baser-core における、composer の依存関係が間違っていたことが発覚しました。(おそらく5.0.16以下でも同じ状態)

baser-core が、bc-blog などに依存する形となるのですが、5.0.20の場合のバージョン指定が次のようになっていました。

"baserproject/bc-blog": "^5.0.20",

これについて、以下の記事をみて、5.0.20以上、5.1.0未満と信じていたのですが、

実は、5.0.20以上、6.0.0未満ということだったようです。
つまり上記の指定の場合、5.1.0がリリースされると、5.1.0 を取得するという。

baser-core は、5.0.20 で、CakePHPも4系がインストールされるが、bc-blog他のコアプラグイについて、5.1.0 をインストールしてしまい、インストールが失敗してしまうという問題となっていたようです。

ついては、5.0.17から、5.0.20までのパッケージについて、依存関係を書き換えました。
先ほどインストール動作も確認しました。

大変お手数をおかけし申し訳ございません。

「いいね!」 1

@ryuring
ご対応ありがとうございます。大変助かりました。

私の環境でも正常にインストールできることを確認しました。
こういう時の正しい手順は不明ですが、参考までに

  1. vendorフォルダの中身を全部削除
  2. 画面を更新してインストール画面が表示されることを確認
  3. 再度インストール作業を実施

これで500エラーとなっていた箇所は問題なく進められてます。

「いいね!」 1

@ryuring さま
ご対応いただきありがとうございます。私の環境でも無事にv5.0.20にアップデートできました。
v5.0.20 改善プログラムを実行するところまで進みました。
まだv5.1.0のアップデート通知が表示されていないので,現在は通知待ちの状態です。

大変お手数をおかけしましたが助かりました。今後ともよろしくお願いいたします。

「いいね!」 1