Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Motivazioni lentezza

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    1,965

    Motivazioni lentezza

    Sto facendo uno script per calcolare il codice fiscale.
    Quando invio il form lo script non viene terminato e mi visualizza l'errore : "Fatal error: Maximum execution time of 30 seconds exceeded"

    E' normale ???
    Sono solo presenti diversi cicli FOR e diversi SWITCH
    Il file che e' responsabile dello script e' 1100 righe ( di cui quello del codice fiscale ne prende circa 320).

    Pensate che debba mettere lo script per il codice fiscale su un file separato, o cambierebbe in modo non significativo?

    In tal caso mi chiedo...
    meglio utilizzare piu' file che tengono poco, o meno file che tengono molto... probabilmente la prima

    Vedro' di risistemare la struttura dei miei script

    Grazie, ciao

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    1,965
    Sapete mica se e' possibile alzare la soglia di tempo di esecuzione di uno script, in una sola pagina ???

    Ciao

  3. #3
    Mi sa che c'è qualcosa che non va nel tuo script...
    Magari qualche ciclo infinito...
    Controlla, perchè uno script che supera i 30 secondi di esecuzione non è uno script decente.

    Comunque se vuoi aumentare il timeout basta che vai nel php.ini...

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    1,965
    Non penso che ci sia un ciclo infinito, perche' ogni volta cambia la riga a cui termina...comunque ci sono parti di codice come queste:

    codice:
    for($o=0;$o<strlen($co);$o++){
    	  IF ($co[$o] != "a" AND $co[$o] != "e" AND $co[$o] != "i" AND $co[$o] != "o" AND $co[$o] != "u"){
    		 $fiscale .= $co[$o];
    		 $u++;
    		}
    		IF($u==3)
    				break;
    	} 
    	
    	$u=0;
    	for($o=0;$o<strlen($no);$o++){
    	  IF ($no[$o] != "a" AND $no[$o] != "e" AND $no[$o] != "i" AND $no[$o] != "o" AND $no[$o] != "u"){
    		$u++;
    		if($u==1)
    				$fiscale .= $no[$o];
    		else if($u==3)
    				$fiscale .= $no[$o];
    		else if($u==4)
    				$fiscale .= $no[$o];		
    		}	
    	}
    di solito non va molto oltre questo tratto

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    1,965
    ah!!

    Mi ero dimenticato di dire che a volte terminava in mezzo a uno switch...

    Fatal error: Maximum execution time of 30 seconds exceeded in d:\programmi\easyphp1-7\www\keratox homepage\includes\codicefiscale.php on line 109

    95: switch(..){
    xxx: ...
    109: case '20':...break;
    xxx: ...
    120: }

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    1,965
    Help me...

  7. #7
    senza avere tutto il codice è difficile controllare.

    ad ogni modo, prova a mettere un echo + exit dentro i cicli, spostandolo ogni volta al ciclo dopo, così vedi qual'è che ti prende tempo, credo sia una questione di chiave non trovata in un array, magari un ciclo for dove hai messo <= invece che < ...

    ciao,
    jack.

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    1,965
    Ok grazie del consiglio

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.