WordPress PHP统计错误

时间:2016-06-23 16:09:41

标签: php wordpress api ssl curl

我正在开发一个WordPress插件,供客户与Rightmove的Realtime Data API进行交互。我已经从Rightmove发送了示例PHP代码来使用。为了与Rightmove的API进行交互,您需要生成并从Rightmove获得安全证书。我已被发送并拥有密码。在执行curl之前,代码使用证书上的stat()函数。下面是代码(出于显而易见的原因划掉密码)。

$url = 'https://adfapi.adftest.rightmove.com/';
$ch = curl_init();
$cert = plugins_url("safetech-righmove-realtime-data-feed-realhomes/safetech.pem");
if (!stat($cert)){
   die('No cert');
}

curl_setopt_array($ch, array(
    CURLOPT_URL => $url,
    CURLOPT_VERBOSE => 1,
    CURLOPT_SSL_VERIFYPEER => false,
    CURLOPT_SSLVERSION => 5,
    CURLOPT_SSLCERT => $cert,
    CURLOPT_SSLCERTPASSWD => 'xxxxxxxx'
 ));

 if(!curl_exec($ch)) {
    echo 'Curl error: ' . curl_error($ch);
 }
 curl_close($ch);

如果stat失败,它会停止代码并打印" No cert"。这正是发生了什么。我已将证书上传到plugins文件夹,可以通过手动转到浏览器中的URL来访问它。所以文件显然存在。

如果我注释掉if语句并只执行curl,Rightmove会返回一个身份验证错误,暗示证书没有被使用?我尝试过使用file_exists()函数,但仍然返回" No cert"错误。

.pem文件具有读取权限。

知道是什么导致了这个问题吗?我几个小时都在尝试各种各样的事情而没有结果。

0 个答案:

没有答案