Laravel本地执行php artisan命令遇SSL证书问题求助
解决WAMP环境下Laravel执行php artisan命令报SSL证书错误的问题
我之前在Windows 10的WAMP环境里跑Laravel时,也碰到过完全一样的问题——不管执行什么php artisan命令,都弹出SSL certificate problem: unable to get local issuer certificate的错误,但代码在其他机器上跑完全正常。折腾了半天,发现根源是本地PHP环境的CA证书配置缺失或者路径不对,下面是我亲测有效的解决步骤:
步骤1:找到当前PHP的配置文件
首先要确定WAMP正在使用的PHP版本对应的php.ini文件:
- 点击WAMP托盘图标,依次选择「PHP」→「php.ini」,直接打开当前激活版本的配置文件;
- 或者手动到WAMP的PHP目录查找,比如路径通常是
C:\wamp64\bin\php\php[你的版本号]\php.ini(比如php8.2.0)。
步骤2:下载并放置CA证书文件
需要一个有效的CA根证书文件(cacert.pem):
- 去Mozilla官方的证书集合页面下载最新的
cacert.pem文件; - 把下载好的文件放到WAMP的PHP目录下的
extras\ssl文件夹里(如果没有这个文件夹,自己新建一个),比如路径是C:\wamp64\bin\php\php8.2.0\extras\ssl\cacert.pem。
步骤3:修改PHP配置项
打开刚才找到的php.ini文件,找到以下两个配置项,去掉前面的分号(取消注释),并设置为你刚才放置的cacert.pem的绝对路径:
curl.cainfo = "C:\wamp64\bin\php\php8.2.0\extras\ssl\cacert.pem" openssl.cafile = "C:\wamp64\bin\php\php8.2.0\extras\ssl\cacert.pem"
⚠️ 注意:替换路径中的PHP版本号为你实际使用的版本,确保路径和文件位置完全匹配。
步骤4:重启WAMP服务
点击WAMP托盘图标,选择「Restart All Services」,让新的配置生效。
步骤5:验证修复效果
打开命令提示符(CMD)或PowerShell,进入你的Laravel项目根目录,执行任意php artisan命令,比如:
php artisan --version
如果之前的错误消失,说明配置成功了。
临时应急方案(不推荐长期使用)
如果你只是临时需要执行命令,不想折腾配置,可以在命令前添加环境变量禁用SSL验证:
set GuzzleHttp_VERIFY=false && php artisan [你的命令]
这个办法只是临时绕过验证,不建议在开发环境长期使用,更不能用于生产环境。
额外注意事项
- 如果你在WAMP里切换过PHP版本,一定要确认修改的是当前激活版本的
php.ini,不同版本的配置文件是分开的; - 确保
cacert.pem文件没有被杀毒软件误删或隔离,必要时可以把这个文件添加到杀毒软件的信任列表。
内容的提问来源于stack exchange,提问作者SanketR
相关产品推荐
相关产品推荐

