PHPバージョンアップ検討

PHP、フレームワークとして使用しているCakePHPも含めてバージョンアップする方法を検討する。
大きな改修作業になりがちなバージョンアップ作業をAIによって作業を簡略化できないかも併せて確認する。

↑の記事で構築した環境でバージョンアップ作業を行います。

おおまかな想定手順

対象洗い出し

PHPのバージョンアップによる変更箇所の洗い出し

公式ページにPHPバージョンによる変更点、下位互換性のないものなどが記載されているので、
そちらを参考に、Linuxコマンドのgrepなどによってソースコードを検証し、変更箇所を洗い出していく。

CakePHPのバージョンアップによる変更箇所の洗い出し

フレームワークの方も同じく公式ページに記載があると思うので、そちらを見ながら洗い出していく。

CakePHPの公式ページはこちらを参考に同じくgrepなどで洗い出していく。

3.3から3.5へのアップグレードコマンド実行

本来は3.4にバージョンアップしてから3.5への対応をした方がいいのかもしれませんが、
3.4はバージョンアップコマンドが存在しないため、工数削減のため一気に3.5へのバージョンアップコマンドを叩いてみます。

公式ページはこちら

私はローカル端末でDockerで起動しているため、Dockerファイルに以下の内容でコマンドを追加します。

#!/bin/sh

# apache起動
httpd -k start 
# composerインストール
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'dac665fdc30fdd8ec78b38b9800061b4150413ff2e3b6f88543c636f7cd84f6db9189d43a81e5503cda447da73c7e5b6') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

echo y | php /var/www/html/composer.phar require --update-with-dependencies "cakephp/cakephp:3.5.*"

「echo y」はy/nを自動で回答するためのものです。

実行すると以下のようなエラーが出力されました。

Attaching to webserver-1
webserver-1  | Installer verified
webserver-1  | All settings correct for using Composer
webserver-1  | Downloading...
webserver-1  | Failed to decode zlib stream
webserver-1  | For additional security you should declare the allow-plugins config with a list of packages names that are allowed to run code. See https://getcomposer.org/allow-plugins
webserver-1  | This warning will become an exception once you run composer update!
webserver-1  | Loading "aura/installer-default" which is a legacy composer-installer built for Composer 1.x, it is likely to cause issues as you are running Composer 2.x.
webserver-1  | ./composer.json has been updated
webserver-1  | For additional security you should declare the allow-plugins config with a list of packages names that are allowed to run code. See https://getcomposer.org/allow-plugins
webserver-1  | This warning will become an exception once you run composer update!
webserver-1  | Loading "aura/installer-default" which is a legacy composer-installer built for Composer 1.x, it is likely to cause issues as you are running Composer 2.x.
webserver-1  | Running composer update cakephp/cakephp --with-dependencies
webserver-1  | Loading composer repositories with package information
webserver-1  | Updating dependencies
webserver-1  | Your requirements could not be resolved to an installable set of packages.
webserver-1  | 
webserver-1  |   Problem 1
webserver-1  |     - Root composer.json requires google/cloud ^0.180.0, found google/cloud[v0.180.0] but the package is fixed to v0.138.0 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.
webserver-1  | 
webserver-1  | Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.
webserver-1  | 
webserver-1  | Installation failed, reverting ./composer.json and ./composer.lock to their original content.
webserver-1 exited with code 2

エラーメッセージにあるオプション「–with-all-dependencies」は思わぬバージョンアップがあることもあるそうなので、一旦使用しないでおきます。

echo y | php /var/www/html/composer.phar require --update-with-dependencies "cakephp/cakephp:3.5.*" "google/cloud:v0.180.0"

↑のように後ろに「依存パッケージ:バージョン」みたいな追記をすると解消されるらしい。
追記して再実行。

無事、CakePHPの画面が表示されました。

3.5から3.6へのアップグレードコマンド実行

続いて、3.6へのアップグレードコマンドです。

php composer.phar require --update-with-dependencies "cakephp/cakephp:3.6.*"

エラーが出ました。

In PluginManager.php line 786:
                                                                               
  cakephp/plugin-installer contains a Composer plugin which is blocked by you  
  r allow-plugins config. You may add it to the list if you consider it safe.  
  You can run "composer config --no-plugins allow-plugins.cakephp/plugin-inst  
  aller [true|false]" to enable it (true) or disable it explicitly and suppre  
  ss this exception (false)                                                    
  See https://getcomposer.org/allow-plugins                                    
                                                                               

require [--dev] [--dry-run] [--prefer-source] [--prefer-dist] [--prefer-install PREFER-INSTALL] [--fixed] [--no-suggest] [--no-progress] [--no-update] [--no-install] [--no-audit] [--audit-format AUDIT-FORMAT] [--update-no-dev] [-w|--update-with-dependencies] [-W|--update-with-all-dependencies] [--with-dependencies] [--with-all-dependencies] [--ignore-platform-req IGNORE-PLATFORM-REQ] [--ignore-platform-reqs] [--prefer-stable] [--prefer-lowest] [-m|--minimal-changes] [--sort-packages] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--apcu-autoloader] [--apcu-autoloader-prefix APCU-AUTOLOADER-PREFIX] [--] [<packages>...]

よくわからなかったので以下のコマンドを実行してみます。

/var/www/html/composer.phar audit
cakephp/plugin-installer contains a Composer plugin which is currently not in your allow-plugins config. See https://getcomposer.org/allow-plugins
Do you trust "cakephp/plugin-installer" to execute code and wish to enable it now? (writes "allow-plugins" to composer.json) [y,n,d,?] 

信用できるならallow-pluginsに設定する必要がありそう。

composer config --no-plugins allow-plugins.cakephp/plugin-installer true

これを実行して、再度ビルド

Action required!                                                           

The CakePHP plugin installer has been changed, please update your application composer.json file to add the post-autoload-dump hook.
See the changes in https://github.com/cakephp/app/pull/216 for more info.              

こんなエラーが出ました。

エラーメッセージに出力されているURLに従って以下を実行

/var/www/html/composer.phar require cakephp/plugin-installer

composer.jsonに以下の行を追加

    "scripts": {
〜〜〜〜〜〜〜〜〜〜〜
        "post-autoload-dump": "Cake\\Composer\\Installer\\PluginInstaller::postAutoloadDump"
    },

↑を追加したら、消せみたいなメッセージが出てきたので、↑は削除

すると、いろいろ出てきたけど順番にエラーを潰していこうと思います。

まずこれ

Cannot use cakephp/plugin-installer's latest version 2.0.1 as it requires php >=8.1 which is not satisfied by your platform.

PHPを8.1以上に上げろと言ってるので、上げてみます。

Dockerfileを以下のように変更

# ベースイメージ
FROM rockylinux:8.9

# 初期プロセス設定
# RUN ["/sbin/init"]
# Remiリポジトリのインストール
RUN dnf -y install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
# Remiリポジトリの有効化
RUN dnf config-manager --set-enabled remi
# PHP8.1有効化
# RUN dnf -y module enable php:remi-7.4
RUN dnf -y module enable php:remi-8.1
# PHPの拡張モジュール追加
RUN dnf -y install php php-curl php-zip php-mbstring php-mysqlnd php-mcrypt php-xml php-intl unzip php-pdo php-mysql
# systemd
# RUN dnf install -y systemd
# ポート8080でアクセス可能な状態に設定
EXPOSE 80
EXPOSE 443
EXPOSE 8080
# apacheインストール
RUN dnf -y install httpd
# apache設定ファイルをコンテナ上に格納
COPY ./virtualhost.conf /etc/httpd/conf.d/
COPY ./00-mpm.conf /etc/httpd/conf.modules.d/
COPY ./httpd.conf /etc/httpd/conf/
COPY ./localhost+1-key.pem /etc/ssl/private/
COPY ./localhost+1.pem /etc/ssl/private/
COPY ./init.sh /etc/init.sh
#COPY ../crmsystem/* /var/www/html

# cakephpインストール
WORKDIR /var/www/html
# 初期化スクリプト実行
CMD [ "sh","/etc/init.sh"]

とりあえず↑のエラーは消えました。

webserver-1  | Your requirements could not be resolved to an installable set of packages.
webserver-1  | 
webserver-1  |   Problem 1
webserver-1  |     - phpunit/phpunit is locked to version 5.7.27 and an update of this package was not requested.
webserver-1  |     - phpunit/phpunit 5.7.27 requires php ^5.6 || ^7.0 -> your php version (8.1.33) does not satisfy that requirement.
webserver-1  |   Problem 2
webserver-1  |     - cakephp/cakephp is locked to version 3.6.15 and an update of this package was not requested.
webserver-1  |     - cakephp/cakephp 3.6.15 requires zendframework/zend-diactoros ^1.4.0 -> satisfiable by zendframework/zend-diactoros[1.8.7].
webserver-1  |     - zendframework/zend-diactoros 1.8.7 requires php ^5.6 || ^7.0 -> your php version (8.1.33) does not satisfy that requirement.

違うところでエラーになったので、元に戻す。
先ほどのやつは致命的なやつではなさそうなので、とりあえず放置して他のエラーにあたります。

画面表示までは至ってないですが、バージョンが変われば解消されそうなので一旦次のバージョンに上げます。

3.6から3.7へのアップグレードコマンド実行

続いて3.7へバージョンアップします。

php composer.phar require --update-with-dependencies "cakephp/cakephp:3.7.*"

実行すると3.6のときと同じようなエラーが出てきましたが、バージョンは上げられたっぽいので突き進みます。

3.7から3.8へのアップグレードコマンド実行

続いて3.8へ

php composer.phar require --update-with-dependencies "cakephp/cakephp:3.8.*"

実行すると3.6のときと同じようなエラーが出てきましたが、バージョンは上げられたっぽいので突き進みます。

3.8から3.9へのアップグレードコマンド実行

続いて3.9へ

php composer.phar require --update-with-dependencies "cakephp/cakephp:3.9.*"

実行すると3.6のときと同じようなエラーが出てきましたが、バージョンは上げられたっぽいので突き進みます。

これで3.xの最新バージョンまで上がりましたので、ついに4.0へのバージョンアップです。

3.9から4.0へのアップグレードコマンド実行

メジャーバージョンのバージョンアップですので、今までの手順とは若干異なりそうです。
また、区切りがいいので可能であれば画面表示できるところまでエラーを潰したいなと思ってます。

PHPは事前に7.2に上げておきます。
私の場合、Dockerfileにバージョンの記載があるのでそこの修正になりますが、
元々7.2であったため今回は対応不要です。

公式サイトはこちら

アップグレードツールをインストール

# アップグレードツールをインストール
git clone https://github.com/cakephp/upgrade
cd upgrade
git checkout 4.x
composer install --no-dev

ロケールファイル、テンプレートファイルの名前を変更

# ロケールファイルの名前を変更する
bin/cake upgrade file_rename locales /var/www/html
# テンプレートファイルの名前を変更する
bin/cake upgrade file_rename templates /var/www/html

ReactorによるCakePHPおよびPHPUnitのリファクタリング

# ReactorによるCakePHPおよびPHPUnitのリファクタリング
bin/cake upgrade rector --rules phpunit80 /var/www/html/tests
bin/cake upgrade rector --rules cakephp40 /var/www/html/src

今まで通り、CakePHPの依存関係のアップデート

# CakePHPの依存を関係をアップデート
php composer.phar require --dev --update-with-dependencies "phpunit/phpunit:^8.0"
php composer.phar require --update-with-dependencies "cakephp/cakephp:4.0.*"

実行すると出力されたエラーは以下の通り

  Problem 1
    - Root composer.json requires cakephp/cakephp 4.0.*, found cakephp/cakephp[4.0.0, ..., 4.0.10] but these were not loaded, likely because it conflicts with another require.
  Problem 2
    - narendravaghela/cakephp-mailgun is locked to version v1.0.6 and an update of this package was not requested.
    - narendravaghela/cakephp-mailgun v1.0.6 requires cakephp/cakephp >=3.0.0 <4.0 -> found cakephp/cakephp[3.0.0, ..., 3.10.5] but it conflicts with your root composer.json require (4.0.*).
  Problem 3
    - cakephp/debug_kit is locked to version 3.9.5 and an update of this package was not requested.
    - cakephp/debug_kit 3.9.5 requires cakephp/cakephp ^3.2.7 -> found cakephp/cakephp[3.2.7, ..., 3.10.5] but it conflicts with your root composer.json require (4.0.*).
  Problem 4
    - cakephp/bake is locked to version 1.2.14 and an update of this package was not requested.
    - cakephp/bake 1.2.14 requires cakephp/cakephp >=3.2.0 <4.0.0 -> found cakephp/cakephp[3.2.0, ..., 3.10.5] but it conflicts with your root composer.json require (4.0.*).

Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.

Problem2:mail-gunのバージョンとCakePHPのバージョンがあってなさそう。
使用してない気もするが、こちらを参考にCakePHP4.0にあってるのは5.0.1っぽいのでバージョンを上げてみる。

依存関係のコマンドの後ろに追記します。

echo y | php composer.phar require --update-with-dependencies "cakephp/cakephp:4.0.*" "narendravaghela/cakephp-mailgun: ^5.0.1"

すると、mail-gunの部分でエラーは出ましたが、以下のように変わりました。

Problem 2
  - Root composer.json requires narendravaghela/cakephp-mailgun  ^5.0.1 -> satisfiable by narendravaghela/cakephp-mailgun[5.0.1].
  - narendravaghela/cakephp-mailgun 5.0.1 requires cakephp/cakephp ^4.0.0 -> found cakephp/cakephp[4.0.0, ..., 4.6.2] but these were not loaded, likely because it conflicts with another require.

こちらは5.0.1に変わったけど、CakePHPが4.0.0に変わってないのでエラーになっているっぽいので、
他のエラーが解消されれば併せて解消されそうなので、一旦、他のエラーを確認します。

Problem3も同じくdebug_kitのバージョンがCakePHP4と合ってなさそうなので変更します。

公式サイトを確認すると、CakePHP4用はそのまま4.0で良さげなのでそのようにします。

依存関係のコマンドにさらに追記します。

echo y | php composer.phar require --update-with-dependencies "cakephp/cakephp:4.0.*" "narendravaghela/cakephp-mailgun: ^5.0.1" "cakephp/debug_kit: ~4.0"

実行するとdebug_kitのエラーはmail-gunと同じようなエラーに変わりました。

Problem 4
  - Root composer.json requires cakephp/debug_kit  ~4.0 -> satisfiable by cakephp/debug_kit[4.0.0, ..., 4.10.2].
  - cakephp/debug_kit[4.0.0, ..., 4.2.0] require cakephp/cakephp ^4.0 -> found cakephp/cakephp[4.0.0, ..., 4.6.2] but these were not loaded, likely because it conflicts with another require.
  - cakephp/debug_kit[4.10.0, ..., 4.10.2] require cakephp/cakephp ^4.5.0 -> found cakephp/cakephp[4.5.0, ..., 4.6.2] but it conflicts with your root composer.json require (4.0.*).
  - cakephp/debug_kit[4.3.0, ..., 4.3.9] require cakephp/cakephp ^4.1 -> found cakephp/cakephp[4.1.0, ..., 4.6.2] but it conflicts with your root composer.json require (4.0.*).
  - cakephp/debug_kit[4.4.0, ..., 4.4.4] require cakephp/cakephp ^4.2.0 -> found cakephp/cakephp[4.2.0, ..., 4.6.2] but it conflicts with your root composer.json require (4.0.*).
  - cakephp/debug_kit[4.5.0, ..., 4.7.1] require cakephp/cakephp ^4.3.0 -> found cakephp/cakephp[4.3.0, ..., 4.6.2] but it conflicts with your root composer.json require (4.0.*).
  - cakephp/debug_kit[4.8.0, ..., 4.9.6] require cakephp/cakephp ^4.4.0 -> found cakephp/cakephp[4.4.0, ..., 4.6.2] but it conflicts with your root composer.json require (4.0.*).

ここで、そもそもDocker環境にgitがインストールされていないことに気づいたので、Dockerfileに追記

# gitのインストール
RUN dnf -y install git

するとエラーは以下のみになりました。

Problem 1
 - Root composer.json requires php ^8.0 but your php version (7.4.33) does not satisfy that requirement.
Problem 2
 - Root composer.json requires symfony/string ^6.0 -> satisfiable by symfony/string[v6.0.0, ..., v6.4.21].
 - symfony/string[v6.0.0, ..., v6.0.19] require php >=8.0.2 -> your php version (7.4.33) does not satisfy that requirement.
 - symfony/string[v6.1.0, ..., v6.4.21] require php >=8.1 -> your php version (7.4.33) does not satisfy that requirement.

依存パッケージに必要なPHPバージョンは8っぽいので、PHPバージョンを8.1に上げます。

Dockerfileを以下のように更新

RUN dnf -y module enable php:remi-8.1

これで再実行すると、Problemの記述はなくなりましたが、ビルド&アップコマンドが落ちてしまいます。
抜粋するとこんな感じ

webserver-1  |   - Installing cakephp/debug_kit (4.2.0): Extracting archive
webserver-1  |   - Installing narendravaghela/cakephp-mailgun (5.0.1): Extracting archive
 23/24 [==========================>-]  95%    Update of cakephp/cakephp failed
 24/24 [============================] 100%
webserver-1  | In RecursiveDirectoryIterator.php line 48:
webserver-1  |                                                                                
webserver-1  |   RecursiveDirectoryIterator::__construct(/var/www/html/upgrade/vendor/cakeph  
webserver-1  |   p/cakephp): Failed to open directory: No such file or directory              
webserver-1  |                                                                                
webserver-1  | 
webserver-1  | require [--dev] [--dry-run] [--prefer-source] [--prefer-dist] [--prefer-install PREFER-INSTALL] [--fixed] [--no-suggest] [--no-progress] [--no-update] [--no-install] [--no-audit] [--audit-format AUDIT-FORMAT] [--update-no-dev] [-w|--update-with-dependencies] [-W|--update-with-all-dependencies] [--with-dependencies] [--with-all-dependencies] [--ignore-platform-req IGNORE-PLATFORM-REQ] [--ignore-platform-reqs] [--prefer-stable] [--prefer-lowest] [-m|--minimal-changes] [--sort-packages] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--apcu-autoloader] [--apcu-autoloader-prefix APCU-AUTOLOADER-PREFIX] [--] [<packages>...]
webserver-1  | 
webserver-1  | No security vulnerability advisories found.
webserver-1  | Found 2 abandoned packages:
webserver-1  | +--------------------------------------+----------------------------------------------------------------------------------+
webserver-1  | | Abandoned Package                    | Suggested Replacement                                                            |
webserver-1  | +--------------------------------------+----------------------------------------------------------------------------------+
webserver-1  | | laminas/laminas-zendframework-bridge | none                                                                             |
webserver-1  | | phpunit/php-token-stream             | none                                                                             |
webserver-1  | +--------------------------------------+----------------------------------------------------------------------------------+
webserver-1 exited with code 2

最後に出力されているセキュリティ系のエラーが怪しいので、そちらから確認

その前に、よくよくみるとcakephpのバージョンを4.6.2から4.0.10に下げてるようなログが出力されていたので、こちらは公式ページのCakePHPの最新の4に最初からしてみます。

webserver-1  |   - Downgrading cakephp/cakephp (4.6.2 => 4.0.10): Extracting archive

以下のコマンドの2箇所をバージョンに合わせて変更します。

bin/cake upgrade rector --rules cakephp44 /var/www/html/src
php /var/www/html/composer.phar require --update-with-dependencies "cakephp/cakephp:4.4.*"

すると、エラーが減りました。

Found 1 abandoned package:
+--------------------------+----------------------------------------------------------------------------------+
| Abandoned Package        | Suggested Replacement                                                            |
+--------------------------+----------------------------------------------------------------------------------+
| phpunit/php-token-stream | none                                                                             |
+--------------------------+----------------------------------------------------------------------------------+

こちらのサイトによると、使用しない方が良いみたいなので消します。

# 不要なパッケージ削除
php /var/www/html/composer.phar remove phpunit/php-token-stream

こちらのコマンドを実行。すると以下のようなエラーが出ました。

Removal failed, phpunit/php-token-stream is still present, it may be required by another package. See `composer why phpunit/php-token-stream`.

他のパッケージで必要そうなので、コマンドを叩いて確認しろとのことなのでメッセージにあるコマンドを実行

# 不要なパッケーががなぜ必要かチェック
php /var/www/html/composer.phar why phpunit/php-token-stream

出力されたメッセージ

phpunit/php-code-coverage 7.0.17 requires phpunit/php-token-stream (^3.1.3 || ^4.0) 

調べると、古いphp-code-coverageはphp-token-streamを使用しているっぽいのでバージョンアップが必要そうです。

composer.lockを見ると現在は4.0.8っぽい。

            "name": "phpunit/php-code-coverage",
            "version": "4.0.8",
            "source": {
                "type": "git",
                "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
                "r

これを9まで上げます。

PHPUnitの依存関係をアップデートするコマンドに追記します。

php /var/www/html/composer.phar require --dev --update-with-dependencies "phpunit/phpunit:^8.0" "phpunit/php-code-coverage:^9.2.5"

いろいろ試したんですが、結局PHPUnit8にはphp-code-coverage9は入らず、
インストール可能なphp-code-coverage7は、php-token-streamに依存しているっぽいので、
PHPUnit、php-code-coverageを共に9にします。

php /var/www/html/composer.phar require --dev --update-with-dependencies "phpunit/phpunit:^9.0" "phpunit/php-code-coverage:^9.0"

これで再実行したところエラーは解消されましたが、肝心のcomposer.json、composer.lockが更新されてません。

そこでCakePHPを一気に4.4に上げると書きましたが、4.0に戻します。

 ======================
 
 1) ../src/Model/Table/LineCarouselColumnHistoriesTable.php:8
 
     ---------- begin diff ----------
 @@ @@
   */
  class LineCarouselColumnHistoriesTable extends AppTable
  {
 -    public function initialize(array $config)
 +    public function initialize(array $config): void
      {
          $this->hasMany('LineCarouselActionHistories', [
              'className' => 'LineCarouselActionHistories',
     ----------- end diff -----------
 
 

すると、こんなメッセージが出て、composerファイル類も更新されました。
やっぱり一気には無理みたいです。

これでCakePHPの画面が動くようになったので、エラーを確認します。

2025-07-31 12:54:38 Error: [Cake\View\Exception\MissingTemplateException] Template file "Error/error500.ctp" is missing. (/var/www/html/vendor/cakephp/cakephp/src/Vie
w/View.php:1605)
#0 /var/www/html/vendor/cakephp/cakephp/src/View/View.php(888): Cake\View\View->_getViewFileName()
#1 /var/www/html/vendor/cakephp/cakephp/src/Error/ExceptionRenderer.php(410): Cake\View\View->render()
#2 /var/www/html/vendor/cakephp/cakephp/src/Error/ExceptionRenderer.php(375): Cake\Error\ExceptionRenderer->_outputMessageSafe()
#3 /var/www/html/vendor/cakephp/cakephp/src/Error/ExceptionRenderer.php(243): Cake\Error\ExceptionRenderer->_outputMessage()
#4 /var/www/html/vendor/cakephp/cakephp/src/Error/Middleware/ErrorHandlerMiddleware.php(120): Cake\Error\ExceptionRenderer->render()
#5 /var/www/html/vendor/cakephp/cakephp/src/Error/Middleware/ErrorHandlerMiddleware.php(102): Cake\Error\Middleware\ErrorHandlerMiddleware->handleException()
#6 /var/www/html/vendor/cakephp/cakephp/src/Http/Runner.php(65): Cake\Error\Middleware\ErrorHandlerMiddleware->__invoke()
#7 /var/www/html/vendor/cakephp/cakephp/src/Http/Runner.php(51): Cake\Http\Runner->__invoke()
#8 /var/www/html/vendor/cakephp/cakephp/src/Http/Server.php(97): Cake\Http\Runner->run()
#9 /var/www/html/webroot/index.php(37): Cake\Http\Server->run()
#10 {main}
Request URL: /admin/users/login

Templateファイルが存在しないと言っているので、公式サイトにあるように「/config/app.php」を修正する必要がありそうです。

        'paths' => [
            'plugins' => [ROOT . DS . 'plugins' . DS],
            'templates' => [ROOT . DS . 'template' . DS],
            'locales' => [APP . 'Locale' . DS],
        ],

こんな感じに修正しました。

+--------------------------------------+----------------------------------------------------------------------------------+
| Abandoned Package                    | Suggested Replacement                                                            |
+--------------------------------------+----------------------------------------------------------------------------------+
| laminas/laminas-zendframework-bridge | none                                                                             |
+--------------------------------------+----------------------------------------------------------------------------------+

すると消えたと思ったビルドエラーが復活。

「PHPバージョンアップ検討」への1件のフィードバック

コメントする