M1芯片MacOSX下安装localhost SSL证书及cURL 60自签名错误解决
解决方案
修复钥匙串添加自签证书无响应问题
- 先找到你本地自签证书的
.crt/.pem文件,右键选择「打开方式」→「钥匙串访问」 - 弹出选择钥匙串的弹窗时,不要选择登录钥匙串,选择「系统」钥匙串再点击添加,这是M1版Mac 11.x系统的常见坑,选登录钥匙串大概率会出现输完密码无响应的情况
- 输入管理员密码确认后,打开钥匙串访问,左侧边栏选择「系统」钥匙串,找到你刚添加的自签证书,双击打开详情
- 展开「信任」设置项,将「使用此证书时」的选项改为「始终信任」,关闭窗口时再次输入管理员密码确认即可
钥匙串添加仍失败的备用方案(直接配置cURL信任证书)
M1 Mac默认的cURL配置不会主动读取钥匙串里的根证书,你可以直接修改cURL的配置文件绕过钥匙串操作:
- 首先导出本地站点的自签证书到用户目录,执行以下命令(把
your-local-site.test替换成你本地WordPress的域名):
openssl s_client -showcerts -connect your-local-site.test:443 </dev/null 2>/dev/null|openssl x509 -outform PEM > ~/my-selfsigned-cert.pem
- 打开cURL配置文件(如果不存在就新建):
nano ~/.curlrc
- 在文件末尾添加一行配置,指定你刚才导出的证书路径:
cacert = ~/my-selfsigned-cert.pem
- 保存退出后,再执行cURL请求或者WordPress API调用就不会报60错误了。如果你的PHP是通过Homebrew安装的,还需要同步修改PHP的openssl配置:
- 执行
php --ini | grep "Loaded Configuration File"找到php.ini路径 - 编辑php.ini,找到
openssl.cafile配置项,取消注释并填写刚才的pem证书路径:
openssl.cafile = "/Users/你的用户名/my-selfsigned-cert.pem"- 重启PHP服务后生效。
- 执行
内容的提问来源于stack exchange,提问作者milky_jay
相关产品推荐
相关产品推荐

