PHP cURL'de zaman aşımlarını tekrar deneme seçeneği ayarlanabilir mi?cURL PHP'de yeniden deneme
Bunu, başarısızlıkla yeniden denemek için kodlayarak yapabilirim, yalnızca bir seçeneğiyle bunu yapmanın bir yolu olup olmadığını merak ediyorum.
PHP cURL'de zaman aşımlarını tekrar deneme seçeneği ayarlanabilir mi?cURL PHP'de yeniden deneme
Bunu, başarısızlıkla yeniden denemek için kodlayarak yapabilirim, yalnızca bir seçeneğiyle bunu yapmanın bir yolu olup olmadığını merak ediyorum.
PHP cURL uzantısının kullanabileceği mevcut seçeneklerle değil. Komut satırında --retry
seçeneğinin olduğuna inanıyorum ama bu PHP'ye maruz kalmıyor.
böyle yeniden denemek errno kullanabilirsiniz:
$curl = curl_init();
curl_setopt_array($curl, $options);
$response = curl_exec($curl);
$retry = 0;
while(curl_errno($curl) == 28 && $retry < 3){
$response = curl_exec($curl);
$retry++;
}
$error_codes=array(
[1] => 'CURLE_UNSUPPORTED_PROTOCOL',
[2] => 'CURLE_FAILED_INIT',
[3] => 'CURLE_URL_MALFORMAT',
[4] => 'CURLE_URL_MALFORMAT_USER',
[5] => 'CURLE_COULDNT_RESOLVE_PROXY',
[6] => 'CURLE_COULDNT_RESOLVE_HOST',
[7] => 'CURLE_COULDNT_CONNECT',
[8] => 'CURLE_FTP_WEIRD_SERVER_REPLY',
[9] => 'CURLE_REMOTE_ACCESS_DENIED',
[11] => 'CURLE_FTP_WEIRD_PASS_REPLY',
[13] => 'CURLE_FTP_WEIRD_PASV_REPLY',
[14]=>'CURLE_FTP_WEIRD_227_FORMAT',
[15] => 'CURLE_FTP_CANT_GET_HOST',
[17] => 'CURLE_FTP_COULDNT_SET_TYPE',
[18] => 'CURLE_PARTIAL_FILE',
[19] => 'CURLE_FTP_COULDNT_RETR_FILE',
[21] => 'CURLE_QUOTE_ERROR',
[22] => 'CURLE_HTTP_RETURNED_ERROR',
[23] => 'CURLE_WRITE_ERROR',
[25] => 'CURLE_UPLOAD_FAILED',
[26] => 'CURLE_READ_ERROR',
[27] => 'CURLE_OUT_OF_MEMORY',
[28] => 'CURLE_OPERATION_TIMEDOUT',
....
[Tüm bukle seçeneklerinin lisy] (http://php.net/manual/en/function.curl-setopt.php) – sdleihssirhc
Başarısızlığı yeniden denemek için en iyi yol olurdu – Ibu