【发布时间】:2021-04-06 04:53:22
【问题描述】:
我有一个执行 composer install 并返回此错误的 github 操作脚本:
Illuminate\Foundation\ComposerScripts::postAutoloadDump @php 工匠包:发现 PHP 致命错误:未捕获的 ErrorException:方法 ReflectionParameter::getClass() 在 /home/runner/work/projsiteWebApp/projsiteWebApp/vendor/laravel/framework/src/Illuminate/Container/Container.php:853 中已弃用
这太令人费解了,因为这在前几天才有效,而我根本没有做任何更改。
当我在本地安装 composer 时,我使用 laravel 5.6 和 php 7.1.2,它工作正常
首先我从我的 github 操作中收到此错误消息
生成优化的自动加载文件 Illuminate\Foundation\ComposerScripts::postAutoloadDump 不推荐使用 Carbon 1,请参阅如何迁移到 Carbon 2。 https://carbon.nesbot.com/docs/#api-carbon-2 您可以运行 './vendor/bin/upgrade-carbon' 来获取更新 carbon 和其他依赖它的框架和库的帮助。 @php 工匠包:发现 PHP 致命错误:未捕获的 ErrorException:方法 ReflectionParameter::getClass() 在 /home/runner/work/projsiteWebApp/projsiteWebApp/vendor/laravel/framework/src/Illuminate/Container/Container.php:826 中已弃用
然后我运行 vendor/bin/upgrade-carbon 到现在我得到了 carbon 2.0。使用这个命令,它将 laravel 升级到 5.8,所以现在我有了 laravel 5.8,现在错误消息在顶部。只抱怨container.php中被贬低的getclass方法
这是执行 composer install 的 yml 文件
name: PR WorkFlow
on:
pull_request:
branches:
- master
- staging
jobs:
app-tests:
runs-on: ubuntu-16.04
steps:
- uses: actions/checkout@v1
- name: Copy .env
run: php -r "file_exists('.env') || copy('.env.example', '.env');"
- name: Install Composer Dependencies
run: composer install
- name: Install NPM Dependencies
run: npm install
- name: Generate key
run: php artisan key:generate
【问题讨论】:
-
你服务器上的php版本是多少?
-
你的php cli是7.1.2版本吗?
-
您可能正在使用 PHP 8?检查终端
php --version -
ReflectionParameter::getClass() 在 PHP 8.0 之后被弃用。确保您的 cli 版本的 php 未使用 PHP 8.0
-
@Rob 我只是很困惑在这里看到相同的用户名,lolzz
标签: php laravel composer-php