Windows10下MAMP PHP8.1执行composer update提示需OpenSSL扩展
PHP 8.1(MAMP 5.0.5)OpenSSL扩展不加载问题排查方案
问题场景
- 系统:Windows 10
- 环境:MAMP 5.0.5 免费版,已卸载旧版MAMP 4,切换至PHP 8.1.0
- 已配置:用户/系统环境变量
Path均添加C:\MAMP\bin\php\php8.1.0 - 现象:
php -v显示为MAMP的PHP 8.1.0,加载的配置是MAMP的php.iniphp.ini中已启用extension=php_openssl.dll,且extension_dir指向正确路径C:\MAMP\bin\php\php8.1.0\ext\- 执行
php -m看不到OpenSSL模块 - 运行
composer update提示未安装OpenSSL模块
排查解决步骤
1. 确认PHP加载的是目标php.ini文件
执行命令验证加载的配置文件路径:
php --ini
查看输出里的Loaded Configuration File,确认是不是你编辑的C:\MAMP\bin\php\php8.1.0\php.ini。MAMP可能附带多个配置文件(比如php.ini-development、php.ini-production),如果加载的不是你修改的那个,需要把目标配置文件重命名为正确的文件名,或者启动PHP时显式指定配置文件。
2. 检查OpenSSL相关DLL文件完整性
- 确认
C:\MAMP\bin\php\php8.1.0\ext\目录下存在php_openssl.dll - 确认
C:\MAMP\bin\php\php8.1.0\目录下存在libcrypto-1_1-x64.dll和libssl-1_1-x64.dll(PHP 8.1依赖这两个OpenSSL核心库) - 若文件缺失,重新解压MAMP的PHP安装包找回,或确认MAMP安装时未遗漏文件
3. 重启终端使环境变量生效
Windows环境变量修改后,必须完全关闭终端再重新打开才能加载新配置。如果之前的终端没重启,可能仍在使用旧路径下的PHP,导致模块加载失败。
4. 修正php.ini中的路径转义格式
Windows下路径推荐用正斜杠/或双反斜杠\\,避免单斜杠可能引发的解析错误。把extension_dir改成:
extension_dir = "C:\\MAMP\\bin\\php\\php8.1.0\\ext\\"
或者:
extension_dir = "C:/MAMP/bin/php/php8.1.0/ext/"
5. 用管理员身份运行终端重试
Windows权限限制可能导致PHP无法读取扩展DLL,右键终端选择「以管理员身份运行」,再执行php -m查看是否能显示OpenSSL模块。
6. 强制指定Composer使用的PHP版本
Composer可能缓存旧的PHP路径,先确认当前关联的PHP:
composer config --list | grep php
如果路径不对,执行以下命令修改:
composer config php.executable "C:\MAMP\bin\php\php8.1.0\php.exe"
内容的提问来源于stack exchange,提问作者Ryan H
相关产品推荐
相关产品推荐

