MacbookでLarevelで作ったアプリをバージョンを上げて、デプロイしようとしております。以前までは下のような構図でうまくCircleCIやテストmぽまわっていたのですがPHP8とLaravel9で動かしたいと思い、コードを変えたりしてCircleCIでのビルドまでは成功したのですが、デプロイ後、リンクに飛ぶとエラー分が出てしまい、苦戦しているといった状態です。
コード Fatal error: Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 8.0.2". You are running 7.4.1. in /var/www/html/vendor/composer/platform_check.php on line 24
AWSのEC2では下のようにバージョンはPHP8.0以上であるのにも関わらずこのようになってしまうのがわからないでいます。よろしくお願いします。
コード $ php -v PHP 8.0.16 (cli) (built: Mar 1 2022 00:31:45) ( NTS ) Copyright (c) The PHP Group Zend Engine v4.0.16, Copyright (c) Zend Technologies [ec2-user@????????? src]$ php artisan -V Laravel Framework 9.17.0
sircleCIの記述
コード version: 2.1 jobs: build: docker: # - image: circleci/php:7.4-zts-buster-node-browsers-legacy - image: cimg/php:8.0.19-node steps: - checkout - run: sudo composer - run: working_directory: src command: composer update - run: working_directory: src # command: composer install -n --prefer-dist command: composer install --ignore-platform-reqs - run: working_directory: src # command: npm ci command: npm install - run: working_directory: src command: npm run dev - run: working_directory: src command: mv .env.example .env - run: working_directory: src command: sudo php artisan key:generate - run: name: php test working_directory: src command: vendor/bin/phpunit deploy: docker: # - image: circleci/php:7.4-zts-buster-node-browsers-legacy - image: cimg/php:8.0.19-node steps: - add_ssh_keys - run: name: deploy working_directory: ~/src command: | ssh -o StrictHostKeyChecking=no -t ec2-user@??????? "cd portfolio && \ git pull origin master && \ cd src && \ sudo composer install --prefer-dist && \ npm install && \ npm run dev && \ php artisan migrate --force && \ php artisan config:cache" workflows: version: 2 build_deploy: jobs: - build - deploy: requires: - build filters: branches: only: - master
試したこと
エラー部分のファイル?を調べると以下のようでした。
composer]$ cat platform_check.php <?php // platform_check.php @generated by Composer $issues = array(); if (!(PHP_VERSION_ID >= 80002)) { $issues[] = 'Your Composer dependencies require a PHP version ">= 8.0.2". You are running ' . PHP_VERSION . '.'; } if ($issues) { if (!headers_sent()) { header('HTTP/1.1 500 Internal Server Error'); } if (!ini_get('display_errors')) { if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { fwrite(STDERR, 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . implode(PHP_EOL, $issues) . PHP_EOL.PHP_EOL); } elseif (!headers_sent()) { echo 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . str_replace('You are running '.PHP_VERSION.'.', '', implode(PHP_EOL, $issues)) . PHP_EOL.PHP_EOL; } } trigger_error( 'Composer detected issues in your platform: ' . implode(' ', $issues), E_USER_ERROR ); } [ec2-user@??? composer]$ pwd /home/ec2-user/portfolio/src/vendor/composer
また、どこかのサイトでsudo composer install --ignore-platform-reqs (--prefer-distを変更)にすると治ると書かれており、試した結果リンク先で次のようになりました。--prefer-disに戻すとエラーも戻ります。もう少し検討してみたいと思います。
エラー文
Fatal error: Uncaught TypeError: Return value of Illuminate\Container\Container::offsetGet()
must be an instance of Illuminate\Container\mixed,
instance of Illuminate\Events\Dispatcher returned in /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php:1415
Stack trace: #0 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing
/RoutingServiceProvider.php(43): Illuminate\Container\Container->offsetGet('events') #1 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(871): Illuminate\Routing\RoutingServiceProvider->Illuminate\Routing{closure}(Object(Illuminate\Foundation\Application), Array) #2 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(756): Illuminate\Container\Container->build(Object(Closure)) #3 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(855): Illuminate\Container\Container->resolve('router', Array, true) #4 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(692): Illu in /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php on line 1415
回答1件
あなたの回答
tips
プレビュー