Laravel 9升级至Laravel 10时Composer依赖冲突问题求助
解决Laravel 9升级到10时fideloper/proxy的依赖冲突问题
移除冲突的第三方包
执行以下命令彻底移除fideloper/proxy:composer remove fideloper/proxy删除冗余配置文件
删掉项目根目录下的config/trustedproxy.php文件,Laravel 10已将信任代理配置整合到config/app.php或环境变量中。更新TrustProxies中间件
打开app/Http/Middleware/TrustProxies.php,将其修改为继承Laravel官方的中间件类,并调整配置:<?php namespace App\Http\Middleware; use Illuminate\Http\Middleware\TrustProxies as Middleware; use Illuminate\Http\Request; class TrustProxies extends Middleware { /** * 信任的代理服务器列表 * * @var array<int, string>|string|null */ protected $proxies = env('TRUSTED_PROXIES'); /** * 用于检测代理的请求头 * * @var int */ protected $headers = Request::HEADER_X_FORWARDED_FOR | Request::HEADER_X_FORWARDED_HOST | Request::HEADER_X_FORWARDED_PORT | Request::HEADER_X_FORWARDED_PROTO; }重新执行升级命令
完成上述操作后,再次运行:composer update -W
补充说明:fideloper/proxy 4.x版本仅支持到Laravel 8,而Laravel 10内置的信任代理功能已经完全替代了这个第三方包的作用,所以移除它是解决依赖冲突的唯一可行方案。
内容的提问来源于stack exchange,提问作者Meaulnes




