Laravel生产环境Composer更新与依赖安装报错求助
问题分析与解决思路
第一个报错:MPDF版本与PHP版本不兼容
报错核心是mpdf/mpdf ^7.1的所有版本均不支持生产环境的PHP 7.4.28:
- mpdf 7.1.0~7.1.6 仅支持 PHP 5.6/7.0/7.1/7.2
- mpdf 7.1.7~7.1.9 仅支持到 PHP 7.3
你的生产环境PHP版本超出了该分支的支持范围。
第二个报错:Composer锁文件与配置文件版本冲突
执行sudo composer require mpdf/mpdf触发局部更新时,出现两处冲突:
- Pusher版本不匹配:
composer.json要求pusher/pusher-php-server ~3.0,但composer.lock锁定的是v4.1.5,局部更新时Composer会保留锁文件版本,导致与配置要求冲突。 - Laratrust版本未同步:你已将
composer.json中Laratrust改为5.0.*,但composer.lock仍保留旧版本4.0.5,局部更新未同步锁文件,引发版本不匹配。
解决步骤
1. 修复MPDF版本兼容问题
MPDF 7.2及以上版本开始支持PHP7.4,直接升级MPDF:
composer require mpdf/mpdf:^7.2
2. 同步锁文件与配置文件的版本冲突
一次性更新所有存在冲突的依赖,让Composer重新计算版本匹配并更新锁文件:
composer update mpdf/mpdf santigarcor/laratrust pusher/pusher-php-server
3. 可选:清理缓存并重装依赖
若上述步骤无效,清理Composer缓存后重新安装:
composer clear-cache composer install
注意:执行composer install前需确保composer.json的版本约束已调整正确
内容的提问来源于stack exchange,提问作者Marcello Pato
相关产品推荐
相关产品推荐

