无法追查错误

时间:2010-08-04 08:20:53

标签: php curl

以下是用于验证paypal付款的脚本的一部分。

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'https://' . $server . '/cgi-bin/webscr');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $parameters);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);


$result = curl_exec($ch);

curl_error($ch);

curl_close($ch);

在极少数情况下,curl_exec存在问题,导致脚本停止在该行执行。

在cpanel错误日志中没有记录错误,并且在尝试了许多不同的事情后,我不清楚curl可能导致此错误的原因。

我对curl不是很熟悉,所以如果有人知道从中获取错误信息的好方法,或者可能导致这个问题的原因,我真的很感激。

由于

2 个答案:

答案 0 :(得分:0)

可能需要很长时间。

curl_setopt($ch, CURLOPT_TIMEOUT, 30);

将时间设置为30 。你确定你等了那么久吗?

使用CURLOPT_TIMEOUT_MS设置超时(以毫秒为单位)。

答案 1 :(得分:0)

curl_error()返回一个字符串,它不会自己进行任何输出/记录。检测卷曲错误的正确方法如下:

$result = curl_exec($curl);

if ($result === FALSE) {
    error_log("CURL failed at " . date('c'));
    error_log("CURL message: " . curl_error($curl));
}