Composer 是独立 PHP 命令行工具,需手动配置 WAMP 的 PHP 路径至系统 PATH,启用 CLI 模式下的 openssl、mbstring、curl 扩展,并确保 php.ini 与 curl.cainfo 正确设置,才能正常使用。

Composer 不能“安装到 WAMP”里——它是个独立的 PHP 命令行工具,只要系统 PATH 和 PHP 可执行路径对了,WAMP 就能用它。
确认 WAMP 自带的 PHP 是否可用且在命令行生效
很多人卡在这一步:WAMP 界面能跑 PHP,但 cmd 里敲 php -v 报“不是内部或外部命令”。这是因为 WAMP 默认不把 PHP 加入系统 PATH。
- 打开 WAMP 安装目录(比如
C:\wamp64\),找到bin\php\php{版本号}\,例如C:\wamp64\bin\php\php8.2.12\ - 复制这个完整路径,右键“此电脑”→“属性”→“高级系统设置”→“环境变量”→在“系统变量”里双击
Path→ 点“新建”→ 粘贴路径 → 确定保存 - 重启命令行(很重要!旧窗口不会自动加载新 PATH),再运行
php -v,必须看到版本号才继续 - 如果报错
php.exe 无法启动,因为计算机中丢失 VCRUNTIME140.dll,说明缺 Microsoft Visual C++ 运行库,去微软官网搜“VC++ 2015-2022 Redistributable”下 x64 版装上
下载并全局安装 composer.phar 到系统级位置
别用 WAMP 自带的“PHP Extensions”界面点来点去,那只是管扩展,跟 Composer 无关。直接下官方可执行文件最稳。
- 去 getcomposer.org/download 下
Composer-Setup.exe(Windows 推荐) - 运行安装程序时,它会自动探测你刚配好的
php.exe路径;如果没识别出来,就手动浏览到C:\wamp64\bin\php\php{版本号}\php.exe - 安装路径建议选默认(通常是
C:\ProgramData\ComposerSetup\bin\),它会自动把composer.bat加进 PATH - 装完新开命令行,运行
composer --version,有输出就说明成了
验证是否真能配合 WAMP 的 PHP 扩展和配置工作
WAMP 界面里启用了 openssl、mbstring、curl,不代表命令行下的 PHP 也开了——Composer 依赖这些扩展,缺一个就报错。
- 运行
php -m,检查输出里有没有openssl、mbstring、curl;没有?说明命令行调用的是另一个 PHP 配置 - 运行
php --ini,看它加载的是哪个php.ini;大概率是C:\wamp64\bin\php\php{版本号}\php.ini,但得确认 - 用记事本打开那个
php.ini,去掉这几行前面的分号:;extension=openssl→ 改成extension=openssl(同理处理mbstring和curl) - 改完保存,重启命令行,再跑
php -m | findstr openssl(Windows)确认已启用
常见失败现象和对应解法
不是“安装失败”,而是“看起来装了但一用就跪”,问题基本集中在环境链路上。
-
Could not open input file: composer.phar:说明你在某个目录下直接双击了composer.phar,或者没走composer命令入口;永远用composer(背后是composer.bat)而不是直接执行.phar文件 -
The openssl extension is required for SSL/TLS protection:即使 WAMP 界面显示 openssl 已启用,命令行 PHP 可能读的是另一份php.ini;按上一节查php --ini并修改对应文件 -
file_get_contents(): SSL operation failed:PHP 的curl.cainfo没设,去php.ini里加一行:curl.cainfo = "C:\wamp64\bin\php\php{版本号}\cacert.pem",然后去 curl.se/ca/cacert.pem 下证书存到该路径 - 用
composer create-project创建 Laravel 项目后,浏览器访问 404:WAMP 默认只认www目录下的子目录,别把项目放桌面;应放C:\wamp64\www\myapp,然后访问http://localhost/myapp/public/
最常被忽略的其实是 PHP CLI 配置和 Web Server 配置不是一回事——WAMP 界面调的是 Apache+PHP-FPM 或模块模式,而 Composer 运行在 CLI 模式下,用的是同一份 php.exe 但可能加载完全不同的 php.ini。盯住 php --ini 输出,比反复重装 Composer 有用十倍。










