Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/02/2004, 11:00
luchope
 
Fecha de Ingreso: julio-2003
Ubicación: Colombia
Mensajes: 591
Antigüedad: 20 años, 8 meses
Puntos: 7
Tiempo de ejecucion!!

Hola a todos tengo el siguiente problemilla...
Este script realiza una consulta a un puerto TCP, el cual le arroja una cadena XML, la cual "loggeo" en un txt...ademàs de mostrarlo en el browser
Funciona lo de ponerlo en txt pero para que la respuesta se muestre en el browser tienen que pasar 60 segundos para que se muestre la respuesta mientras que he visto en el txt se escribe como a los 5 segundos..
El browser a los 60 segundos me dice:
Fatal error: Maximum execution time of 30 seconds exceeded in C:\Archivos de programa\Apache Group\Apache2\htdocs\script.php on line 10
Bueno he cambiado el php.ini a max_execution_time = 10, pero igual se demora 60 segs pero con
Fatal error: Maximum execution time of 10 seconds exceeded in C:\Archivos de programa\Apache Group\Apache2\htdocs\script.php on line 10

entonces agregue la directiva set_time_limit() con la premisa "Cuando se llama, set_time_limit() reinicia el contador del timeout a cero. En otras palabras, si el timeout es el de por
defecto de 30 segundos, y después de 25 segundos de ejecución del script se realiza una llamada set_time_limit(20), el
script se ejecutará durante un total de 45 segundos antes de alcanzar su límite."
Pero el browser me sigue sacando ese error, no se si php se queda esperando a que el puerto se cierre (aunque fclose()) lo deberia cerrar, o si hay algo en el script que retraza su echo.
por otro lado no se si la demora es porque es XML aunque la respuesta del browser es verdaderamente plana, solo los valores inmersos en las etiquetas XML..
Tambien he variado la ejecucion de scripts de Apache pero : error 500.
Gracias
Chaop!

Código PHP:
<?php
set_time_limit
(10);//limita el tiempo maximo de ejecucion
$fp fsockopen("127.0.0.1"5555, &$errno, &$errstr10);//abrimos la conexion via socket
if(!$fp) {//si se realiza consulta
echo "$errstr ($errno)<br>\n";//si no saca error
} else {
fputs($fp,"<consulta><IP>200.32.191.99</IP></consulta>");//Colocamos la consulta en el socket
while(!feof($fp)) {//verificamos si hay fin de linea en el archivo
$prueba=fgets($fp256);//asignamos ala variable con una longitud de 256 lo que ha direccionado fputs a fgets
 
define('NOMBRE_FICHERO''xml.txt');//creamos txt para loggear
 
$fichero fopen(NOMBRE_FICHERO'a');//abrimos el fichero
 
fputs($fichero$prueba);//escribimos
 
fclose($fichero); //cerramos log
echo "$prueba";//mostramos en el browser
}
fclose($fp);//cerramos conexion socket
}
?>