本地IIS环境WordPress插件安装遇cURL错误60,如何配置curl代理?
解决WordPress插件安装时cURL代理+证书问题
别担心,这个问题完全可以解决——咱们可以给PHP的cURL指定代理信息,而且主要就是在php.ini里配置,只是你可能没注意到默认被注释掉的选项而已!下面一步步给你讲清楚:
1. 如何给PHP的cURL配置代理?
当然可以指定代理,优先推荐在php.ini里做全局配置,这样所有依赖PHP cURL的应用(包括你的WordPress)都会自动使用代理:
- 先找到你的PHP对应的php.ini文件:可以在IIS里新建一个php文件,写入
<?php phpinfo(); ?>,访问后找到Loaded Configuration File这一行,就是当前生效的php.ini路径。 - 打开php.ini,搜索以下配置项,去掉前面的分号
;注释,填入你的代理信息:curl.proxy_host:代理服务器的IP或域名,比如curl.proxy_host = your-proxy-server.comcurl.proxy_port:代理端口,比如curl.proxy_port = 8080- 如果代理需要账号密码认证,再加这两项:
curl.proxy_user = your-proxy-usernamecurl.proxy_pass = your-proxy-password
- 如果是HTTPS类型的代理,补充设置:
curl.proxy_type = CURLPROXY_HTTPS(默认是HTTP代理)
- 配置完成后,重启IIS服务,让新配置生效。
如果不想修改全局php.ini,也可以只针对WordPress设置代理,在wp-config.php文件末尾添加以下代码:
// 给WordPress的HTTP请求设置代理 add_action('http_api_curl', function($handle) { // 替换成你的代理地址和端口 curl_setopt($handle, CURLOPT_PROXY, 'your-proxy-server.com:8080'); // 如果需要认证,取消下面一行注释并替换账号密码 // curl_setopt($handle, CURLOPT_PROXYUSERPWD, 'username:password'); });
2. curl有没有独立的配置文件?
对于PHP环境来说,没有独立的cURL系统级配置文件——PHP的cURL功能是通过扩展实现的,所有相关配置要么在php.ini里全局设置,要么通过代码动态调整(比如上面wp-config.php里的写法)。
额外提醒:证书问题的补充
虽然你说关代理就正常,但如果代理是公司内部的,建议同时确保curl.cainfo指向的证书文件包含代理的根证书,这样既能用代理,又不会触发SSL证书错误。比如:
curl.cainfo = "C:/path/to/your/cacert.pem"
这个文件可以从官方的CA证书包获取,把代理的根证书追加进去就行。
内容的提问来源于stack exchange,提问作者Pegi
相关产品推荐
相关产品推荐

