Foros del Web » Programando para Internet » PHP »

Fatal error: Maximum execution time of 60 seconds

Estas en el tema de Fatal error: Maximum execution time of 60 seconds en el foro de PHP en Foros del Web. Buenas, en un colegio donde estoy laburando me pidieron que les imprima la lista de alumnos y padres con sus respectivos usuarios y contraseñas para ...
  #1 (permalink)  
Antiguo 24/03/2011, 20:58
 
Fecha de Ingreso: agosto-2010
Mensajes: 100
Antigüedad: 14 años, 2 meses
Puntos: 2
Fatal error: Maximum execution time of 60 seconds

Buenas, en un colegio donde estoy laburando me pidieron que les imprima la lista de alumnos y padres con sus respectivos usuarios y contraseñas para un sistema que tienen armado para el menú de los chicos.
Armé un script en PHP que se conecta a la bd y consigue los datos. Lo probé desde el navegador en mi localhost y andaba. Pero para mejorar el formato de la impresión de los datos quise imprimir los datos en un pdf.
Para eso utilizo la librería fpdf. Y creo que ahí viene el problema, porque cuando ejecuto el script me devuelve el siguiente error (después de un rato de trabajar):
Cita:
Fatal error: Maximum execution time of 60 seconds exceeded in C:\Program Files\xampp\htdocs\manantiales\urecovery\libs\db.p hp on line 39
En la línea 39 de ese archivo se ejecuta una query, que en el script que ejecuté primero andaba sin mayores inconvenientes.
Los códigos son estos:

Código PHP:
<?php

# Muestra para cada alumno su user y pass.
# Al igual que el de sus padres.

include('libs/db.php');
include(
'libs/pdf/fpdf.php');
conectar();

$pdf=new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial');

$tot 0;
$query "SELECT u.idusuario FROM usuarios u";
$res mysql_query($query);
if (
$res == false){
  echo 
"Fallo la consulta.<br/>";
}else{
  while (
$row mysql_fetch_array($res)){
    if (
esAlu($row[0]) == true){
      
$dat nomAlu($row[0]);
      
$pdf->Cell(40,10,$dat);
      
$pdf->Ln();
      
$dat "<br/>".usAlu($row[0]);
      
$pdf->Cell(40,10,$dat);
      
$pdf->Ln();
      
#datPad($row[0]);
      
$tot $tot 1;
    }
  }
}
$pdf->Output();
echo 
"<br/>Resumen:<br/>".$tot." alumnos procesados.";
?>
Código PHP:
<?php
function conectar(){
# Info db:
..........................
}

function 
esAlu($id){
  
$query "SELECT * FROM alumno WHERE alumno.IdUsuario = $id";
  
$res mysql_query($query);
  if (
$res == false){
    echo 
"Error en la consulta de alumno.";
  }else{
    if (
mysql_num_rows($res) == 1){
    return 
true;
    }else{
    return 
false;
    }
}
}

function 
yearAlu($id){
  
$query "SELECT * FROM alumno WHERE alumno.IdUsuario = $id";
  
$res mysql_query($query);
  if (
$res == false){
    echo 
"Error en la consulta de cursada.";
  }else{
    return 
$row[1];
  }
}

function 
nomAlu($id){
  
$query "SELECT * FROM usuarios u WHERE u.idusuario = $id";
  
$res mysql_query($query);
  if (
$res == false){
    echo 
"Fallo la consulta de datos de alumno.";
  }else{
    
$row mysql_fetch_array($res);
    
$text =  "ALUMNO: ".$row[6].", ".$row[7]."<br/>";
    return 
$text;
  }
}

function 
usAlu($id){
  
$query "SELECT * FROM usuarios u WHERE u.idusuario = $id";
  
$res mysql_query($query);
  if (
$res == false){
    echo 
"Fallo la consulta de datos de alumno.";
  }else{
    
$row mysql_fetch_array($res);
    
$text =  "Usuario: ".$row[10]." - Contrase&ntilde;a: ".$row[11]."<br/>";
    return 
$text;
  }
}

function 
datPad($id){
  
$query "SELECT u.apellido, u.nombre, u.nombreusuario, u.clave, arr.Alumno_IdUsuario AS Alumno
        FROM alumno_relacion_responsable AS arr INNER JOIN usuarios AS u ON arr.Responsable_IdUsuario = u.IdUsuario
        WHERE $id = arr.Alumno_IdUsuario"
;
  
$res mysql_query($query);
  if (
$res == false){
    echo 
"Error en la consulta de datos de datos de padres.";
  }else{
    echo 
"PADRES:<br/>";
    while (
$row mysql_fetch_array($res)){
      echo 
$row[0].", ".$row[1]."<br/>";
      echo 
"Usuario: ".$row[2]."<br/>";
      echo 
"Contrase&ntilde;a: ".$row[3]."<br/>";
    }
  }
}
?>
Apriori se me ocurrió cambiar el valor de max_execution_time del php.ini a 0. Pero aún así devuelve el mismo mensaje.
Alguna sugerencia ?.
  #2 (permalink)  
Antiguo 24/03/2011, 21:45
Avatar de ghidalgoram  
Fecha de Ingreso: marzo-2008
Ubicación: Costa Rica
Mensajes: 446
Antigüedad: 16 años, 8 meses
Puntos: 7
De acuerdo Respuesta: Fatal error: Maximum execution time of 60 seconds

Hola ramiromd

En una ocasión tuve un problema, un poco similar al tuyo. En mi caso era, insertar datos de una hoja de Excell a una tabla de una base de datos. El proceso duraba aproximandamente como 3 minutos.

Pero cuando el proceso llevaba como 30 segundos, aparecía un error. Lamentablemente no recuerdo exactamente la solución, así que no puedo ayudar completamente.

Talves esto de ayude un poco. Recuerdo que nos comunicamos con la empresa que nos alquilaba el servidor (era un Servidor Dedicado) y cambiaron el tiempo de ejecución como a 20 minutos ó algo así y el problema se pudo resolver. Entoces, si tu problema es igual al mio, es posible que sea algo en la configuración del servidor.

Algo que controle la duración de los procesos, solo que no recuerdo el nombre de la variable a configurar en el servidor. Espero haberte ayudado colega.

Saludos,
__________________
Loading...
  #3 (permalink)  
Antiguo 25/03/2011, 10:48
 
Fecha de Ingreso: agosto-2010
Mensajes: 100
Antigüedad: 14 años, 2 meses
Puntos: 2
Respuesta: Fatal error: Maximum execution time of 60 seconds

Cita:
Iniciado por ghidalgoram Ver Mensaje
Hola ramiromd

En una ocasión tuve un problema, un poco similar al tuyo. En mi caso era, insertar datos de una hoja de Excell a una tabla de una base de datos. El proceso duraba aproximandamente como 3 minutos.

Pero cuando el proceso llevaba como 30 segundos, aparecía un error. Lamentablemente no recuerdo exactamente la solución, así que no puedo ayudar completamente.

Talves esto de ayude un poco. Recuerdo que nos comunicamos con la empresa que nos alquilaba el servidor (era un Servidor Dedicado) y cambiaron el tiempo de ejecución como a 20 minutos ó algo así y el problema se pudo resolver. Entoces, si tu problema es igual al mio, es posible que sea algo en la configuración del servidor.

Algo que controle la duración de los procesos, solo que no recuerdo el nombre de la variable a configurar en el servidor. Espero haberte ayudado colega.

Saludos,
Si esa posibilidad la he esta amasando, tal vez estes en lo cierto (casi seguro que si). Bueno veré si me puedo contactar con el administrador del servidor o tratar de obtener los datos por "lotes".
Un abrazo!
  #4 (permalink)  
Antiguo 25/03/2011, 11:52
Avatar de ghidalgoram  
Fecha de Ingreso: marzo-2008
Ubicación: Costa Rica
Mensajes: 446
Antigüedad: 16 años, 8 meses
Puntos: 7
De acuerdo Respuesta: Fatal error: Maximum execution time of 60 seconds

Ojalá que puedas solucionarlo. Si lo logras, sería muy bueno si nos cometan como lo lograste, así, muchos aprenderemos más.

Saludos colega
__________________
Loading...

Etiquetas: fatal, time
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:07.