旧版Laravel项目在PHP 8.0.8环境运行composer命令报错如何解决
解决步骤
1. 修复PHP SOAP扩展缺失问题
这是composer install执行失败的核心原因,操作如下:
- 打开报错提示的PHP配置文件
C:\xampp\php\php.ini - 查找配置项
;extension=soap,删除行首的分号;后保存文件 - 重启XAMPP的Apache服务,终端执行
php -m确认返回列表中存在soap,代表扩展启用成功
2. 重新执行依赖安装
扩展配置完成后,在项目根目录重新执行:
composer install
此前Illuminate\Foundation\Application类找不到的报错,本质是依赖安装失败,vendor目录缺失Laravel核心文件导致,等安装完成后该问题会自动消失。
3. 修复PSR-4自动加载规范错误
两个类的报错都是路径大小写/目录不匹配导致,按如下修改:
- 针对
OrderController报错:保证命名空间的路径和实际文件存储路径完全一致,要么将temp目录重命名为Vendor,要么将类的命名空间修改为App\Http\Controllers\temp\OrderController,注意路径大小写必须完全匹配 - 针对
AddressesResponse报错:类的命名空间写的是小写profile,实际目录是大写Profile,将命名空间中的profile改为Profile即可
4. 重新生成自动加载文件
以上操作全部完成后,执行:
composer dump-autoload
即可正常运行无报错。
内容的提问来源于stack exchange,提问作者ch_dani
相关产品推荐
相关产品推荐

