¿Cuál es el valor predeterminado de tiempo de espera de PHP cURL? ¿Puedo obtener el valor de la codificación?PHP: Valor de tiempo de espera de cURL predeterminado
Respuesta
Los valores por defecto son los siguientes:
- CURLOPT_FTP_RESPONSE_TIMEOUT: Indefinida
- CURLOPT_TIMEOUT: Indefinida
- CURLOPT_TIMEOUT_MS: Indefinida
- CURLOPT_CONNECTTIMEOUT: 300 segundos
- CURLOPT_CONNECTTIMEOUT_MS: Indefinida
- CURLOPT_ACCEPTTIMEOUT_MS: 60 segundos
respuesta anterior (para referencia):
Mi entendimiento es que CURL obedece a la default_socket_timeout menos anulado con CURLOPT_TIMEOUT
/CURLOPT_CONNECTTIMEOUT
.
$socket_timeout = ini_get('default_socket_timeout'); // timeout in seconds
Ninguno en libcurl. http://curl.haxx.se/mail/lib-2003-05/0097.html
Gracias por el hallazgo. ¿Alguna respuesta autoritativa? – Raptor
Un poco más de detalle ... http://curl.haxx.se/mail/lib-2001-01/0019.html –
Depende de qué configuración de tiempo de espera esté hablando.
cURL ofrece varias opciones específicas para la configuración del tiempo de espera de la conexión. Algunas de estas opciones tienen un límite establecido, mientras que otras permiten que las transferencias tomen un tiempo indefinido. Con el fin de entender qué valores tienen una configuración predeterminada y cuáles no, tiene que mirar a curl_easy_setopt()
función de libcurl: http://curl.haxx.se/libcurl/c/curl_easy_setopt.html
libcurl enumera los siguientes ajustes específicos de espera de conexión:
- CURLOPT_FTP_RESPONSE_TIMEOUT: No hay valor predeterminado (indefinida)
- CURLOPT_TIMEOUT: sin valor predeterminado (indefinida)
- CURLOPT_TIMEOUT_MS: sin valor predeterminado (indefinida)
- CURLOPT_CONNECTTIMEOUT: predeterminados a 300 segundos
- CURLOPT_CONNECTTIMEOUT_MS: No defecto
- CURLOPT_ACCEPTTIMEOUT_MS: Por defecto es 60000 ms
El código fuente de PHP no anula ninguna de las configuraciones predeterminadas anteriores: https://github.com/php/php-src/blob/master/ext/curl/interface.c. El parámetro sólo algo relacionado que anulan los enlaces de PHP es CURLOPT_DNS_CACHE_TIMEOUT
, cambiando el valor por defecto de 60 segundos a 120 segundos: https://github.com/php/php-src/blob/a0e3ca1c986681d0136ce4550359ecee2826a80c/ext/curl/interface.c#L1926
Una de las otras respuestas indicó que PHP fijará CURLOPT_TIMEOUT
al valor especificado en la configuración ini default_socket_timeout
. No pude encontrar nada en el código fuente de PHP para respaldar este reclamo, y no pude activar un tiempo de espera de cURL al descargar un archivo muy grande con una configuración de default_socket_timeout
de 1 segundo.
El tiempo de espera predeterminado es 0 (cero) lo que significa que nunca se agota el tiempo durante la transferencia. http://curl.haxx.se/libcurl/c/CURLOPT_TIMEOUT.html – diyism
Sí. Eso está en mi respuesta: 'CURLOPT_TIMEOUT: Sin valor predeterminado (indefinido)' –
- 1. RestTemplate: valor de tiempo de espera predeterminado
- 2. curl php ssl tiempo de espera de conexión
- 3. JQuery ajax call valor de tiempo de espera predeterminado
- 4. cURL Comprobación del tiempo de espera
- 5. Tiempo de espera predeterminado para HttpComponent Client
- 6. Periodo de tiempo predeterminado de sesiones PHP
- 7. Hibernar: ¿establecer tiempo de espera de consulta predeterminado?
- 8. cURL suspensión múltiple/ignorar el tiempo de espera
- 9. Curl vuelva a intentar el tiempo de espera
- 10. php Tiempo de espera de GearmanClient
- 11. ¿Cuál es el valor de tiempo de espera predeterminado de java.net.Socket en Android?
- 12. ¿Cuál es el valor de tiempo de espera predeterminado ajax de jQuery?
- 13. cómo configurar el valor de tiempo de espera predeterminado de savon
- 14. ¿Cuál es el valor de tiempo de espera de sesión predeterminado en ASP.NET?
- 15. PHP ssh2_connect() Implementar un tiempo de espera
- 16. Tiempo de espera una función en PHP
- 17. PHP file_get_contents ignorando el tiempo de espera?
- 18. manejador de tiempo de espera predeterminado para el script de espera
- 19. ¿Cómo eliminar el límite de tiempo de CURL en PHP?
- 20. Asignación de PHP con un valor predeterminado
- 21. reintento de cURL en PHP
- 22. valor de cookie cURL
- 23. Tiempo de espera de la sesión de PHP
- 24. Tiempo de espera agotado - Tiempo de espera agotado
- 25. exec() con tiempo de espera
- 26. Php - Curl de depuración
- 27. NSURLConnection tiempo de espera
- 28. sesiones de PHP tiempo de espera demasiado rápido
- 29. Tiempo de espera de sesión de IIS frente a tiempo de espera de sesión de ASP.NET
- 30. WCF ¿Tiempo de espera?
¿Puedes respaldar esto? No pude encontrar nada para probar esto en los enlaces de curl de PHP (https: // github.com/php/php-src/blob/master/ext/curl/interface.c). También intenté configurar mi configuración de 'default_socket_timeout' ini en 1 y descargué un archivo grande, pero curl nunca excedió el tiempo de espera, lo que implica que el valor predeterminado de 0 (indefinido) todavía se estaba utilizando. Luego establecí explícitamente un valor de CURLOPT_TIMEOUT de un segundo en un manejador curl, intenté descargar el mismo archivo y noté que la conexión definitivamente se cortó después de 1 segundo. –
El comentario de @MichaelDowling proporciona más información y evidencia para responder a esta pregunta. –
¿Por qué esta respuesta está marcada como correcta? – jayarjo