PHPフレームワークのCakePHP5 で vendorフォルダにautoload.phpが自動で生成されない場合、インストールされているPHPのunitに不足があると考えられます。
$ composer create-project --prefer-dist cakephp/app cms005
Creating a "cakephp/app" project at "./cms005"
Installing cakephp/app (5.2.0)
- Installing cakephp/app (5.2.0): Extracting archive
Created project in /home/***/cms005
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 phpunit/phpunit ^10.5.5 || ^11.1.3 || ^12.1 -> satisfiable by phpunit/phpunit[10.5.5, ..., 10.5.48, 11.1.3, ..., 11.5.28, 12.1.0, ..., 12.2.9].
- phpunit/phpunit[10.5.5, ..., 10.5.48, 11.1.3, ..., 11.5.28, 12.1.0, ..., 12.2.9] require ext-dom * -> it is missing from your system. Install or enable PHP's dom extension.
To enable extensions, verify that they are enabled in your .ini files:
- /etc/php/8.3/cli/php.ini
- /etc/php/8.3/cli/conf.d/10-mysqlnd.ini
- /etc/php/8.3/cli/conf.d/10-opcache.ini
- /etc/php/8.3/cli/conf.d/10-pdo.ini
- /etc/php/8.3/cli/conf.d/20-calendar.ini
- /etc/php/8.3/cli/conf.d/20-ctype.ini
- /etc/php/8.3/cli/conf.d/20-curl.ini
- /etc/php/8.3/cli/conf.d/20-exif.ini
- /etc/php/8.3/cli/conf.d/20-ffi.ini
- /etc/php/8.3/cli/conf.d/20-fileinfo.ini
- /etc/php/8.3/cli/conf.d/20-ftp.ini
- /etc/php/8.3/cli/conf.d/20-gettext.ini
- /etc/php/8.3/cli/conf.d/20-iconv.ini
- /etc/php/8.3/cli/conf.d/20-intl.ini
- /etc/php/8.3/cli/conf.d/20-mbstring.ini
- /etc/php/8.3/cli/conf.d/20-mysqli.ini
- /etc/php/8.3/cli/conf.d/20-pdo_mysql.ini
- /etc/php/8.3/cli/conf.d/20-phar.ini
- /etc/php/8.3/cli/conf.d/20-posix.ini
- /etc/php/8.3/cli/conf.d/20-readline.ini
- /etc/php/8.3/cli/conf.d/20-shmop.ini
- /etc/php/8.3/cli/conf.d/20-sockets.ini
- /etc/php/8.3/cli/conf.d/20-sysvmsg.ini
- /etc/php/8.3/cli/conf.d/20-sysvsem.ini
- /etc/php/8.3/cli/conf.d/20-sysvshm.ini
- /etc/php/8.3/cli/conf.d/20-tokenizer.ini
- /etc/php/8.3/cli/conf.d/20-zip.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-dom` to temporarily ignore these required extensions.
$ sudo apt-get install php8.3-dom
[sudo] *** のパスワード:
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了
状態情報を読み取っています... 完了
注意、'php8.3-dom' の代わりに 'php8.3-xml' を選択します
以下のパッケージが新たにインストールされます:
php8.3-xml
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 8 個。
126 kB のアーカイブを取得する必要があります。
この操作後に追加で 505 kB のディスク容量が消費されます。
取得:1 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 php8.3-xml amd64 8.3.6-0ubuntu0.24.04.5 [126 kB]
126 kB を 1秒 で取得しました (96.1 kB/s)
以前に未選択のパッケージ php8.3-xml を選択しています。
(データベースを読み込んでいます ... 現在 193047 個のファイルとディレクトリがインストールされています。)
.../php8.3-xml_8.3.6-0ubuntu0.24.04.5_amd64.deb を展開する準備をしています ...
php8.3-xml (8.3.6-0ubuntu0.24.04.5) を展開しています...
php8.3-xml (8.3.6-0ubuntu0.24.04.5) を設定しています ...
Creating config file /etc/php/8.3/mods-available/dom.ini with new version
Creating config file /etc/php/8.3/mods-available/simplexml.ini with new version
Creating config file /etc/php/8.3/mods-available/xml.ini with new version
Creating config file /etc/php/8.3/mods-available/xmlreader.ini with new version
Creating config file /etc/php/8.3/mods-available/xmlwriter.ini with new version
Creating config file /etc/php/8.3/mods-available/xsl.ini with new version
libapache2-mod-php8.3 (8.3.6-0ubuntu0.24.04.5) のトリガを処理しています ...
php8.3-cli (8.3.6-0ubuntu0.24.04.5) のトリガを処理しています ...
sudo apt-get install php8.3-xml
上記のコマンドラインは、debian系のLinuxへのphp8.3-xmlのインストール方法です。PHP 8.4で本記事のタイトルのようなメッセージが、表示される様でしたらphp8.3-xmlをphp8.4-xmlに変更してみてはどうでしょうか。
コメント