以下是用于验证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不是很熟悉,所以如果有人知道从中获取错误信息的好方法,或者可能导致这个问题的原因,我真的很感激。
由于
答案 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));
}