必须让php命令全局可用、Composer能调用PHP、且cURL和OpenSSL扩展启用:下载VC17 TS x64版PHP解压至C:\php,添加路径到系统PATH,配置php.ini启用关键扩展,再通过Composer-Setup.exe指定php.exe安装并配置阿里云镜像。

要在Windows上搭建可立即编码的PHP开发环境,必须让php命令全局可用、Composer能调用PHP、且关键扩展(如cURL和OpenSSL)处于启用状态,缺一不可。
安装PHP并配置基础运行环境
第一步是让系统真正“认识”php.exe,否则后续所有操作都会卡在命令未找到。
访问 windows.php.net/download,下载与你的系统架构匹配的VC17 Thread Safe x64版本(例如 PHP 8.3.x),不要选 Non-Thread Safe 或 VC15/VC16 版本。
解压ZIP包到固定路径,推荐使用 C:\php —— 路径中不能含空格或中文,否则Composer安装时会静默失败。
立即学习“PHP免费学习笔记(深入)”;
右键“此电脑”→“属性”→“高级系统设置”→“环境变量”,在“系统变量”的Path中点击“新建”,粘贴 C:\php,然后确定保存。
复制 C:\php\php.ini-development 并重命名为 php.ini;用记事本打开它,取消以下三行的注释(删掉开头的分号):
extension_dir = "ext"
cgi.force_redirect = 0
extension=php_openssl.dll
验证PHP是否真正就绪
这一步不是走形式,而是确认PHP能否被系统调用、配置文件是否加载正确、核心扩展是否激活。
按 Win + R 输入 cmd,回车打开命令提示符。
执行 php -v:若显示版本号(如 PHP 8.3.12),说明PATH生效;若报“不是内部或外部命令”,请立刻返回上一步检查C:\php是否已写入Path并重启了CMD。
让 Windows 桌面程序在开机时静默自启并隐藏到系统托盘。特别适用于 Flutter、Electron 等无视 VBS/ProcessStartInfo 窗口样式、难以隐藏的顽固应用。提供「VBS 启动器 + Python ctypes/Win32 API」的隐藏窗口方案,可稳定把窗口收进托盘且不闪控制台。
执行 php --ini:输出中“Loaded Configuration File”必须指向 C:\php\php.ini,否则你改的配置全无效。
执行 php -m | findstr openssl 和 php -m | findstr curl:两行命令都必须有输出,否则Composer将无法下载包——这是90%“安装成功但无法拉取依赖”的根源。
安装Composer并确保其调用正确的PHP
Composer不是独立程序,它只是个PHP脚本包装器,必须明确告诉它用哪个php.exe。
方法一:用官方安装器(适合新手)
访问 getcomposer.org/Download 下载 Composer-Setup.exe;
双击运行,安装向导出现后,**不要直接点“Next”**——先点击“Browse”,手动定位到 C:\php\php.exe;
勾选 Add Composer to the system PATH,再点“Install”。
方法二:手动部署(推荐给进阶用户或曾安装失败者)
去 https://getcomposer.org/installer 下载 composer.phar;
把它放进 C:\bin(需提前将C:\bin加入系统Path);
在C:\bin下新建文本文件,重命名为 composer.bat,内容只有一行:
@php "%~dp0composer.phar" %*。
⚠️ 注意:安装完成后,必须关闭所有已打开的CMD/PowerShell/VS Code终端,再新开一个——旧进程不会读取新Path。
验证并配置国内镜像源
第一步:执行 composer --version。有正常输出即表示Composer已就绪。
第二步:执行 composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/。
这条命令有三个硬性要求:-g 不能省、repo.packagist 不能写成 repos 或 packagist.org、URL末尾必须带 /,缺一即失效。
第三步:执行 composer config -g repo.packagist,确认输出中 url 字段确实是 https://mirrors.aliyun.com/composer/。
第四步:进入任意空文件夹,执行 composer init -n,观察是否能快速生成 composer.json —— 这是镜像生效的最终实证。


















