2011-02-01 34 views
5

Estoy ejecutando un script bastante largo que recupera el contenido de un dominio específico y analiza el html antes de ejecutar una serie de pruebas en dicho html. De todos modos, el script se agota después de un tiempo. He intentado poner esto en la parte superior de la página, pero sigue sin suerte:¿Cómo eliminar el límite de tiempo de CURL en PHP?

set_time_limit(0); 

Aquí está el error en cuestión:

cURL error number:28 
cURL error:Operation timed out after 10000 milliseconds with 316183 out of 6476018 bytes received 

Respuesta

1

Set CURLOPT_TIMEOUT a un valor superior.

+0

Configuración CURLOPT_TIMEOUT a un valor más alto no va a eliminar el límite de tiempo. Poniéndolo en cero (0) lo hará. Lo mismo ocurre con CURLOPT_TIMEOUT_MS. (fuente: http://curl.haxx.se/libcurl/c/CURLOPT_TIMEOUT.html/http://curl.haxx.se/libcurl/c/CURLOPT_TIMEOUT_MS.html) –

4

Utilice la opción CURLOPT_TIMEOUT junto con curl_setopt().

curl_setopt($curl, CURLOPT_TIMEOUT, 0); // zero waits indefinitely 

set_time_limit() solo establece cuánto tiempo se puede ejecutar la secuencia de comandos. El problema que estás teniendo es un timout de cURL.

http://php.net/curl-setopt

+0

CURLOPT_CONNECTTIMEOUT \t El número de segundos para esperar mientras se intenta para conectar. Use 0 para esperar indefinidamente. VS CURLOPT_TIMEOUT \t El número máximo de segundos para permitir que se ejecuten las funciones de CURL. – profitphp

+0

@profitphp: Pero en lo que respecta al manual, no existe la opción 'CURLOPT_TIMEOUT'. – Jonah

+0

leer más lejos ... – profitphp

Cuestiones relacionadas