Maximum execution time of 30 seconds exceeded

devo popolare una tabella ed esegue il seguente codice:

$mysql_cdc=""; 
$mysql_cdc=" SELECT tcdc.id_cdc FROM tcdc WHERE tcdc.id_cdc<>14  AND  tcdc.id_cdc<>15  ORDER BY id_cdc";
//echo $mysql_cdc;
$result_cdc = mysql_query($mysql_cdc,$db) or die($QueryErrore);
while ($myrow_cdc = mysql_fetch_array($result_cdc)) {
$mysql_count="";
$mysql_count=" SELECT 
  tposizioni_per_anagrafica.cid,
  tsezioni.idcdc,
  tcdc.cdc,
  terogato_sap.numero,
  terogato_sap.periodo,
  terogato_sap.idcodice_sap,
  tsezioni_per_anagrafica.data_applicazione_sezione,
  tsezioni_per_anagrafica.data_cessazione_sezione,
  tposizioni_per_anagrafica.data_ingresso,
  tposizioni_per_anagrafica.data_uscita
FROM
  tposizioni_per_anagrafica
  LEFT OUTER JOIN tsezioni_per_anagrafica ON (tposizioni_per_anagrafica.cid = tsezioni_per_anagrafica.cid)
  LEFT OUTER JOIN tsezioni ON (tsezioni_per_anagrafica.idsezione = tsezioni.id_sezione)
  LEFT OUTER JOIN tcdc ON (tsezioni.idcdc = tcdc.id_cdc)
  LEFT OUTER JOIN terogato_sap ON (tposizioni_per_anagrafica.cid = terogato_sap.cid)
GROUP BY
  tposizioni_per_anagrafica.cid,
  tsezioni.idcdc,
  tcdc.cdc,
  terogato_sap.numero,
  terogato_sap.periodo,
  terogato_sap.idcodice_sap,
  tsezioni_per_anagrafica.data_applicazione_sezione,
  tsezioni_per_anagrafica.data_cessazione_sezione,
  tposizioni_per_anagrafica.data_ingresso,
  tposizioni_per_anagrafica.data_uscita
HAVING
  (terogato_sap.idcodice_sap = '1') AND 
  (terogato_sap.periodo = '".$periodo."') AND 
  (tsezioni.idcdc = '".$myrow_cdc["id_cdc"]."') AND 
  (tposizioni_per_anagrafica.data_ingresso <= '".$data_riferimento."') AND 
  (tposizioni_per_anagrafica.data_uscita >= '".$data_riferimento."') AND 
  (tsezioni_per_anagrafica.data_applicazione_sezione <= '".$data_riferimento."') AND 
  (tsezioni_per_anagrafica.data_cessazione_sezione >= '".$data_riferimento."')";
  echo $mysql_count;
  $tot_strao=0;
  $result_count = mysql_query($mysql_count,$db) or die($QueryErrore);

      $numrows_count=mysql_num_rows($result_count);  
      if ($numrows_count>0) {
   

          while ($myrow_count = mysql_fetch_array($result_count)) {
$tot_strao=$tot_strao+$myrow_count["numero"];
}
   mysql_free_result($result_count); 
   if ($tot_strao>0) {
   

   $mysql_insert="" ;
   $mysql_insert=" INSERT INTO tstraordinario_erogato_mensile (periodo, idcdc, numero_ore, unita_nel_periodo)
                                                  VALUES ('".$periodo."','".$myrow_cdc["id_cdc"]."','$tot_strao', '$numrows_count')";
$result_insert = mysql_query($mysql_insert,$db) or die($QueryErrore);
 //header("location:statistiche.php");                                                  
}

}
}

purtroppo il form và in " Maximum execution time of 30 seconds exceeded ".

Potete darmi una mano?

inviato 9 anni fa
bonann23
X 0 X

prova a mettere nello scirpt:

ini_set("max_execution_time", 0);

oppure a modificare la direttiva omonima nel php.ini

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

Naturalmente non posso intervenire su php.ini; pertanto provo l'altra soluzione.

grazie giovanni

risposto 9 anni fa
bonann23
X 0 X

prova anche con:

set_time_limit (0);

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

purtroppo contianua a non funzionare.

Ho inserito:

session_start();
ini_set("max_execution_time", 0);

Posso provare in qualche altro modo?

giovanni

risposto 9 anni fa
bonann23
X 0 X

ho eliminato

ini_set("max_execution_time", 0);

ed ho inserito

set_time_limit (0);

ma ottengo questo messaggio d'errore:

set_time_limit(): Cannot set time limit in safe mode in

non potendo fare a me no del passaggio come devo muovermi?

risposto 9 anni fa
bonann23
X 0 X

ho inserito il seguente codice:

ini_set("max_execution_time", 180);

dove ho impostato il tempo a 180 sec.

credo che funzioni.

pensi che vada bene?

giovanni

risposto 9 anni fa
bonann23
X 0 X

poiché il tuo server è in safe mode non puoi usare set_time_limit() ma se riesci comunque ad allungare il timeout di PHP con ini_set va benissimo (ma hai verificato che funziona?)

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

Purtroppo non funziona correttamente.

Cosa posso fare per ovviare al problema?

Ciao

Giovanni

risposto 9 anni fa
bonann23
X 0 X

non credo che ti rimangano altre strade, visto che sei in safe mode e ti hanno disabilitato il controllo del tempo massimo di esecuzione degli script

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda