Wordpress脚本使用curl - 遇到SSL CA身份验证问题

时间:2012-06-01 17:09:20

标签: php wordpress curl

我是Wordpress的新手,我正在尝试使用标准的RSS小部件在我的网站上添加Twitter提要。输入RSS URL很简单:https://twitter.com/statuses/user_timeline/mytwitterfeed.rss

但是,我收到以下错误: RSS错误:WP HTTP错误:SSL证书问题,验证CA证书是否正常。详细信息:错误:14090086:SSL例程:SSL3_GET_SERVER_CERTIFICATE:证书验证失败

我理解快速修复是在curl_exec()之前将其添加到脚本中: curl_setopt($ resCurl,CURLOPT_SSL_VERIFYPEER,false);

但是,我找不到哪个php脚本用wp-admin / wp-content / wp-plugins调用curl。

wp-plugins似乎只包含新的插件来扩展核心WP站点提供的内容。标准小部件存储在哪里?

我已经尝试了所有显而易见的地方,Windows 7内容搜索没有找到“curl”这个词的任何结果。 (我尝试了很多变化!)

有人可以帮助我吗?

谢天谢地

4 个答案:

答案 0 :(得分:2)

有两种选择:

  • 如果您想要没有SSL麻烦的Twitter Feed,只需安装一个Twitter Feed插件,例如Jetpack,并在其中一个侧边栏中添加Feed。这通常是最简单的方法。
  • 与您的托管服务提供商联系,让他们“修复”SSL问题。我个人不会转向SSL验证,它肯定会破坏目的。

答案 1 :(得分:1)

您只需将此过滤器添加到主题或插件

即可
add_filter('https_ssl_verify', '__return_false');

答案 2 :(得分:0)

我在名为WP_Http_Curl的PHP类中的wp-includes \ class-http.php中找到了curl_exec

对我而言,这意味着WP可能会将curl用于内部目的。你应该能够在那里嵌入curl_setopt调用。但是这将禁用所有请求的验证。

您的验证错误可能是由卷曲引起的,不包括WP内部卷曲使用的CA证书捆绑包。有关如何更新此内容的详细信息,请参阅http://curl.haxx.se/docs/sslcerts.html

答案 3 :(得分:0)

只需更改您的RSS Feed网址

即可

https://twitter.com/statuses/user_timeline/mytwitterfeed.rss

http://api.twitter.com/1/statuses/user_timeline.rss?screen_name=twitter

Feed仍然可以使用。

只需查看此链接

即可

http://api.twitter.com/1/statuses/user_timeline.rss?screen_name=twitter