Codice PHP:
<?php 

function gestione_errori() { //imposto la funzione che mi farà uscire il messaggio
global $messaggio_personalizzato$url_pagina_senza_query_string;
$error error_get_last();
//echo "<pre>".print_r($_SERVER,true)."</pre>";
//echo "<pre>".print_r($error,true)."</pre>";
//echo ">>>".stripos($error['message'],'Maximum execution time')!==false;
  
if ($error['type'] == and stripos($error['message'],'Maximum execution time')!==false) { //type == 1 è il timeout dello script
  //echo "$messaggio_personalizzato";
  
echo $fine_scritp=date("H:i:s");
echo <<< eof
<script type="text/javascript" language="JavaScript">
var messaggio_errore_js="
$messaggio_personalizzato $fine_scritp";
alert (messaggio_errore_js);
//window.location.href="
$url_pagina_senza_query_string";
</script>
eof;
  }
    else{
    
//echo "<pre>".print_r($error,true)."</pre>";
    
}
}
register_shutdown_function('gestione_errori'); //gli dico che alla fine dello script (o quando si blocca per un fatal) deve lanciare quella funzione.

ini_set("max_execution_time",30);
$sql_query_iniziale="select
  aaa
From
  tbl1"
;

collega_database($server_predef$utente_predef$password_predef'gestione_mr''');  
$result mysql_query($sql_query_iniziale);
?>
sostanzialmente lo script non si blocca dopo 30 secondi mentre l'sql gira...

perchè?

grazie anticipatamente per le eventuali risposte e buona giornata a tutti