He estado utilizando las funciones get_meta_tags() & get_headers() PHP, y necesito establecer un valor de tiempo de espera en caso de que el sitio web sea lento o no responda. Alguien sabe como hacerlo?Cómo configurar el tiempo de espera para get_meta_tags() & get_headers()
Respuesta
Debería poder influir en esto (como en los envoltorios de URL) con la configuración ini default_socket_timeout
.
Prueba cualquiera de colocarlo en el archivo php.ini
o haciendo algo como
ini_set('default_socket_timeout', 10);
para establecer un tiempo de espera de 10 segundos (el valor por defecto es 60)
La función get_headers
y get_meta_tags
utilizar el valor predeterminado HTTP Stream Wrapper debajo. Puede change the ini setting como shown elsewhere on this page o modify the behavior de esa envoltura y establecer un tiempo de espera específica:
stream_context_set_default(
array(
'http' => array(
'timeout' => 5
)
)
);
Tenga en cuenta que el cambio de la corriente HTTP Contexto predeterminada se aplicará a todas las funciones de usarlo. Si desea restaurar el tiempo de espera a la configuración predeterminada original, hacer:
$originalDefaults = stream_context_set_default(…);
$meta = get_meta_tags(…);
stream_context_set_default($originalDefaults);
En una nota, si se llama a cualquier función utilizando un HTTP Corriente Envoltura, PHP también se rellenará automáticamente el variable $http_response_header
en el ámbito actual, por lo no es necesario que también llame al get_headers
, por ej.
$originalDefaults = stream_context_set_default(…);
$meta = get_meta_tags(…);
stream_context_set_default($originalDefaults);
var_dump($http_response_header);
- 1. Cómo configurar el tiempo de espera para dataWithContentsOfURL: url
- 2. Cómo configurar IHttpAsyncHandler un tiempo de espera?
- 3. ¿Cómo configurar el tiempo de espera utilizando el dispositivo?
- 4. configurar el tiempo de espera para la entrada del usuario
- 5. Cómo configurar el tiempo de espera de keepalive en Android?
- 6. cómo configurar un tiempo de espera para un método
- 7. Cómo configurar el tiempo de espera en Spring WebServiceTemplate
- 8. openssl ssl_connect blocks forever - cómo configurar el tiempo de espera?
- 9. Búsqueda DNS de Node.js: cómo configurar el tiempo de espera?
- 10. cómo configurar el tiempo de espera de conexión/solicitud para el servidor de embarcadero?
- 11. Cómo configurar el tiempo de espera para la conexión de la base de datos en django
- 12. ¿Cómo diferenciar cuándo espera (tiempo de espera prolongado) salir para notificar o tiempo de espera?
- 13. ¿Cómo configurar el tiempo de espera para urlfetch en Google App Engine?
- 14. Cómo configurar el tiempo de espera para un procedimiento almacenado en SQL Server
- 15. Tiempo de espera para BackgroundWorker
- 16. Establecer el tiempo de espera para webClient.DownloadFile()
- 17. Aumentando el tiempo de espera para .ashx
- 18. tiempo de espera establecido para una operación
- 19. Tiempo de espera para thread.join()
- 20. HttpWebRequest Tiempo de espera
- 21. ¿Cómo configurar un tiempo de espera de sesión para la aplicación Grails?
- 22. Selenium WebDriver - Cómo configurar el tiempo de espera de carga de página usando C#
- 23. cómo configurar el valor de tiempo de espera predeterminado de savon
- 24. Cómo configurar el tiempo de espera de adb - emulator desde la línea de comandos
- 25. cómo configurar el temporizador para calcular el tiempo de ejecución
- 26. ¿Cómo se especifica el tiempo de espera para XmlReader?
- 27. ¿Cómo configurar el tiempo de espera de sesión más de 20 minutos?
- 28. cómo configurar el tiempo de espera de la consulta desde la cadena de conexión SQL
- 29. ¿Por qué configurar el tiempo de espera de autenticación de formularios más tiempo que el tiempo de espera de la sesión?
- 30. PHP get_headers() alternative
¡muchas gracias por ese consejo, acabo de probarlo, y funciona! Ahora estoy preocupado de que pueda afectar otras funciones de PHP. ¿Hay alguna manera de simplemente establecer el tiempo de espera en esas 2 funciones, o tal vez controlar por cuánto tiempo se están ejecutando, y luego abortar después de unos segundos? – rob