Laravel7升级至9后Composer Install遇扩展依赖问题求助
解决Windows环境下Laravel升级后Composer依赖的扩展安装问题
问题概述
项目从Laravel 7升级至Laravel 9,执行git pull后运行composer install时出现两个依赖错误:
php-mime-mail-parser/php-mime-mailparser ^8.0依赖ext-mailparse扩展,当前系统未安装mongodb/mongodb ^1.15要求ext-mongodb ^1.15.0,但当前安装的是1.13.0,版本不兼容
Windows下指定版本扩展安装步骤
一、安装mailparse 8.0.0扩展
- 确认PHP环境参数
运行以下命令获取关键信息:php -v # 查看PHP版本 php -i | findstr "Thread Safety" # 确认是否为线程安全(TS/NTS) php -i | findstr "Architecture" # 查看架构(x86/x64) - 获取对应版本的dll文件
从PECL的mailparse包归档中,筛选匹配上述环境参数的mailparse 8.0.0版本dll文件。 - 安装并启用扩展
- 将下载的
php_mailparse.dll放入PHP安装目录的ext子文件夹(如C:\xampp\php\ext) - 运行
php --ini找到CLI模式使用的PHP配置文件,打开后添加一行:extension=php_mailparse.dll - 重启Web服务器(如XAMPP的Apache),执行
php -m | findstr "mailparse"验证扩展是否成功加载
- 将下载的
二、安装mongodb 1.15.x扩展
- 确认PHP环境参数
重复上述步骤1,获取PHP版本、线程安全状态及架构信息。 - 获取对应版本的dll文件
从PECL的mongodb包归档中,选择1.15.x系列的版本(如1.15.3),下载匹配自身PHP环境的dll文件。 - 安装并启用扩展
- 将
php_mongodb.dll放入PHP安装目录的ext子文件夹 - 在PHP配置文件中添加一行:
extension=php_mongodb.dll - 重启Web服务器,执行
php -m | findstr "mongodb"验证扩展加载状态
- 将
临时规避方案(仅应急使用)
若暂时无法安装扩展,可执行以下命令让Composer忽略平台依赖检查:
composer install --ignore-platform-req=ext-mailparse --ignore-platform-req=ext-mongodb
内容的提问来源于stack exchange,提问作者MAHESH CHOUDHARY
相关产品推荐
相关产品推荐

