本地MAMP Pro运行WordPress时wp_remote_get()报cURL错误60求助
我在帮开发者排查MAMP Pro环境下的WordPress问题时,经常遇到这个SSL证书的坑。你已经做了不少基础配置,但可能还有几个容易漏掉的细节,试试下面这些步骤:
确认MAMP Pro实际加载的php.ini文件
有时候我们改的php.ini并不是MAMP Pro正在用的版本。你可以在WordPress根目录新建一个phpinfo.php文件,内容是:<?php phpinfo(); ?>访问这个文件后,搜索「Loaded Configuration File」,找到实际生效的php.ini路径,然后把你之前的cURL/OpenSSL配置加到这个文件里,别再改错文件了。
彻底重启MAMP Pro服务
改完php.ini后,别只点Apache的重启按钮——直接关掉整个MAMP Pro应用,等几秒再重新打开,确保所有配置都被重新加载。有时候服务重启不彻底,新配置根本没生效。信任本地站点的SSL证书
你的本地站点用了HTTPS对吧?MAMP Pro生成的本地SSL证书默认没被Mac系统信任,这也会导致cURL报错。打开「钥匙串访问」,搜索你本地站点的域名(比如localhost或者你自定义的域名),找到对应的证书,右键选择「显示简介」,在「信任」选项里把「使用此证书时」改成「始终信任」,输入系统密码确认后,重启浏览器和MAMP Pro。开发环境临时绕过SSL验证(仅限测试用!)
如果上面的方法都没见效,开发环境下可以临时给wp_remote_get()加个参数跳过SSL验证,但生产环境绝对不能这么做:$url = site_url() . '/wp-json/wp/v2/my-cpt'; $response = wp_remote_get( $url, array( 'sslverify' => false ) );这只是权宜之计,还是建议把证书信任的问题彻底解决,不然以后调用其他HTTPS API也会出问题。
检查cacert.pem的权限和路径
确保你替换的cacert.pem文件有可读权限,打开终端执行:chmod 644 /Applications/MAMP/Library/OpenSSL/certs/cacert.pem另外再核对一遍配置里的文件路径,别打错大小写或者斜杠,路径不对的话PHP根本找不到证书文件。
希望这些步骤能帮你搞定这个烦人的cURL错误!
内容的提问来源于stack exchange,提问作者Ryan Dorn

