Не могу отследить ошибку - PullRequest
0 голосов
/ 04 августа 2010

Следующее является частью сценария, который используется для проверки подлинности платежей 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 голосов
/ 04 августа 2010

curl_error() возвращает строку, она не производит никаких выходных данных / ведения журнала самостоятельно. Правильный способ обнаружения ошибок скручивания заключается в следующем:

$result = curl_exec($curl);

if ($result === FALSE) {
    error_log("CURL failed at " . date('c'));
    error_log("CURL message: " . curl_error($curl));
}
0 голосов
/ 04 августа 2010

Это может занять много времени.

curl_setopt($ch, CURLOPT_TIMEOUT, 30);

Установите время 30 секунд . Вы уверены, что вы так долго ждали?

Используйте CURLOPT_TIMEOUT_MS для установки времени ожидания в миллисекундах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...