You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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.ini
    • php.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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 21:51:28