Qual è il valore di timeout PHP cURL predefinito? Posso ottenere il valore dalla codifica?PHP: valore di timeout CURL predefinito
risposta
Le impostazioni predefinite sono i seguenti:
- CURLOPT_FTP_RESPONSE_TIMEOUT: Indefinito
- CURLOPT_TIMEOUT: Indefinito
- CURLOPT_TIMEOUT_MS: Indefinito
- CURLOPT_CONNECTTIMEOUT: 300 secondi
- CURLOPT_CONNECTTIMEOUT_MS: Indefinito
- CURLOPT_ACCEPTTIMEOUT_MS: 60 secondi
Risposta precedente (per riferimento):
mia comprensione è che CURL obbedisce al default_socket_timeout meno soprascritta da CURLOPT_TIMEOUT
/CURLOPT_CONNECTTIMEOUT
.
$socket_timeout = ini_get('default_socket_timeout'); // timeout in seconds
Nessuno in libcurl. http://curl.haxx.se/mail/lib-2003-05/0097.html
Grazie per il ritrovamento. Qualche risposta autorevole? – Raptor
Un po 'più in dettaglio ... http://curl.haxx.se/mail/lib-2001-01/0019.html –
Dipende dall'impostazione di timeout di cui si sta parlando.
cURL offre varie opzioni specifiche per le impostazioni di timeout della connessione. Alcune di queste opzioni hanno un limite impostato, mentre altre consentono ai trasferimenti di prendere una quantità indefinita di tempo. Al fine di capire quali valori sono impostazioni predefinite e che non si fa, è necessario guardare al curl_easy_setopt()
funzione di libcurl: http://curl.haxx.se/libcurl/c/curl_easy_setopt.html
libcurl elenca i seguenti timeout di connessione impostazioni specifiche:
- CURLOPT_FTP_RESPONSE_TIMEOUT: No default (a tempo indeterminato)
- CURLOPT_TIMEOUT: No default (a tempo indeterminato)
- CURLOPT_TIMEOUT_MS: No default (a tempo indeterminato)
- CURLOPT_CONNECTTIMEOUT: Defaults per 300 secondi
- CURLOPT_CONNECTTIMEOUT_MS: No predefinite
- CURLOPT_ACCEPTTIMEOUT_MS: Defaults a 60000 ms
Il codice sorgente PHP non sostituisce nessuna delle impostazioni di default di cui sopra: https://github.com/php/php-src/blob/master/ext/curl/interface.c. Il parametro solo in qualche modo correlato che le associazioni di PHP hanno la priorità è CURLOPT_DNS_CACHE_TIMEOUT
, cambiando il valore di default da 60 secondi a 120 secondi: https://github.com/php/php-src/blob/a0e3ca1c986681d0136ce4550359ecee2826a80c/ext/curl/interface.c#L1926
Una delle altre risposte ha dichiarato che il PHP imposterà CURLOPT_TIMEOUT
al valore specificato nell'impostazione ini default_socket_timeout
. Non sono stato in grado di trovare nulla nel codice sorgente di PHP per eseguire il backup di questo reclamo e non sono stato in grado di attivare un timeout CURL scaricando un file molto grande con un'impostazione default_socket_timeout
di 1 secondo.
Il timeout predefinito è 0 (zero), il che significa che non scade mai durante il trasferimento. http://curl.haxx.se/libcurl/c/CURLOPT_TIMEOUT.html – diyism
Sì. Questo è nella mia risposta: 'CURLOPT_TIMEOUT: No default (indefinito)' –
- 1. Heroku - Timeout su cURL (PHP)
- 2. Timeout predefinito sessioni PHP
- 3. RestTemplate - valore di timeout predefinito
- 4. Impostazione del timeout di Curl in PHP
- 5. JQuery valore di timeout predefinito chiamata ajax
- 6. timeout di cURL su heroku
- 7. CURL Riprova timeout
- 8. php curl - valore distacco asp.net viewstate
- 9. cURL riprova in PHP
- 10. come impostare il valore di timeout predefinito di savon
- 11. Qual è il valore di timeout predefinito di TransactionScope?
- 12. Qual è il valore di timeout predefinito di RestSharp RestClient?
- 13. Qual è il valore di timeout predefinito ajax di jQuery?
- 14. cURL timeout multi impiccagione/ignorato
- 15. Il valore predefinito di timeout sul selettore web selenio
- 16. PageMetode timeout predefinito
- 17. OkHttp/Retrofit timeout predefinito
- 18. Timeout predefinito Entity Framework
- 19. PHP cURL: CURLOPT_CONNECTTIMEOUT vs CURLOPT_TIMEOUT
- 20. Timeout ping predefinito
- 21. timeout connessione php ssl
- 22. Valore predefinito delle variabili in PHP?
- 23. timeout di cURL, puoi gestirlo in modo elegante?
- 24. Image upload CURL in PHP Curl
- 25. valore cookie CURL
- 26. PHP Curl CURLOPT_IPRESOLVE
- 27. Php - Debugging Curl
- 28. CURL PHP invia immagine
- 29. php cURL opzione silenziosa?
- 30. PHP Curl and Cookies
Puoi eseguire il backup? Non ho trovato nulla per dimostrarlo nei binding di curl PHP (https: // github.com/php/php-src/blob/master/ext/riccio/interface.c). Ho anche provato a impostare il mio 'default_socket_timeout' ini su 1 e ho scaricato un file di grandi dimensioni, ma il ricciolo non è mai scaduto, implicando che il valore predefinito di 0 (indefinito) era ancora in uso. Ho quindi impostato in modo esplicito un valore CURLOPT_TIMEOUT di un secondo su un handle di curl, ho provato a scaricare lo stesso file e ho notato che la connessione è stata definitivamente interrotta dopo 1 secondo. –
Il commento di @MichaelDowling fornisce ulteriori informazioni e prove per rispondere a questa domanda. –
Perché questa risposta è contrassegnata come corretta? – jayarjo