Il mio e' il secondo caso...Originariamente inviato da Takeno
Se invece si tratta di file del server e lo script php parte tranquillo, puoi fare come in questo esempio che ho testato poco fa
Codice PHP:set_time_limit(2); //imposto il limite massimo d'esecuzione
function shutDownFunction() { //imposto la funzione che mi farà uscire il messaggio
$error = error_get_last();
print_r($error);
if ($error['type'] == 1) { //type == 1 è il timeout dello script
echo "E' accaduto un errore! Lo script e' andato in timeout";
}
}
register_shutdown_function('shutdownFunction'); //gli dico che alla fine dello script (o quando si blocca per un fatal) deve lanciare quella funzione.
// Ora lancio il mio codice, qualunque esso sia, che se causerà un fatal error, farà lanciare la funzione.
while(true) //in questo caso è un ciclo infinito che andrà in timeout dopo 2 secondi, come settato sopra.
$a = 1;
La questione e' piu' complicata di quanto mi aspettassi quando ho scritto la domanda...
Allora, la mia situazione e' la seguente:
il server elabora un file molto grosso, e potrebbe scadere in timeout.
Il fatto e' che a me non serve che scriva un semplice messaggio...nella tua funzione infatti ci ho messo un
che dovrebbe essere captato dallo script che l'ha richiamato e mostrare a video un altro messaggio che corrisponde al 'key' 'timeout'.Codice PHP:return 'timeout';
Il fatto e' che, andando in timeout, si ha il fatal error e lo script viene arrestato dal php e non procede!
Esiste un modo per ovviare a questo??




Rispondi quotando