Visualizzazione risultati 1 fino 7 di 7

Discussione: Fatal error: Maximum execution time

  1. #1
    L'avatar di FantaGalla
    FantaGalla non è connesso Utente
    Data registrazione
    01-07-2003
    Messaggi
    245

    Predefinito Fatal error: Maximum execution time

    Fatal error: Maximum execution time of 15 seconds exceeded in /membri2/fantagalla/fanta_mondiali/crea_giornata.php on line 104
    questo è un errore che mi compare usando uno script forse noto a qualcuno, fantacalciobazar...
    Codice PHP:
    <?php
    require ("./controlla_pass.php");
    require (
    "./header.php");

    if (
    $_SESSION['valido'] == "SI" and $_SESSION['permessi'] > 1) {
    require (
    "./menu.php");

    echo
    "<center><h3>Verifiche</h3>";
    $lock = fopen("$percorso_cartella_dati/admin.lock","w+");
    flock($lock,2);

    $num_lettere = strlen($giornata);
    if (
    $num_lettere != 10) $creare = "NO";
    if (@
    is_file("$percorso_cartella_dati/$giornata")) $creare = "NO";

    $file = file("./dati/utenti.php");
    $contaUtenti = 0;
    for(
    $linea = 1; $linea < sizeof($file); $linea++){
    @list(
    $outente, $opass, $opermessi, $oemail, $ourl, $osquadra, $ocittà, $ocrediti, $ovariazioni, $ocambi, $oreg) = explode("<del>", $file[$linea]);
    if (
    $outente != "admin" and $opermessi != -1) $contaUtenti++;
    }
    $num_giocatori=$contaUtenti;
    $num_giornata = substr($giornata,8);
    if (
    substr($num_giornata,0,1) == 0) $num_giornata = substr($num_giornata,1);
    $num_campionati = count($campionato);
    reset($campionato);
    for(
    $num1 = 0 ; $num1 < $num_campionati; $num1++) {
    $key_campionato = key($campionato);
    $giornate_campionato = explode("-",$key_campionato);
    if (
    $num_giornata <= $giornate_campionato[1] and $num_giornata >= $giornate_campionato[0]) {
    $num_giornata_campionato = $num_giornata - $giornate_campionato[0] + 1;
    $tipo_campionato = $campionato[$key_campionato];
    break;
    }
    # fine if ($num_giornata <= $giornate_campionato[1] and...
    next($campionato);
    }
    # fine for $num1
    if (!$tipo_campionato) $tipo_campionato = "N";
    if (
    $tipo_campionato == "S") {
    if (
    $num_giocatori == 4 or $num_giocatori == 6 or $num_giocatori == 8 or $num_giocatori == 10 or $num_giocatori == 12 or $num_giocatori == 14 or $num_giocatori == 16 or $num_giocatori == 18 or $num_giocatori == 20) {
    $attiva_scontri_diretti = "SI";
    }
    # fine if ($num_giocatori == 4 or...
    else {
    echo
    "Per attivare gli scontri diretti il numero di partecipanti deve essere di 4, 6, 8, 10, 12, 14, 16, 18 o 20.<br>";
    $creare = "NO";
    }
    # fine else if ($num_giocatori == 4 or...
    } # fine if ($tipo_campionato == "S")


    if ($creare == "NO") echo "ERRORE<br>";

    else {

    $filegiornata = "";
    $proprietario = "";
    $ruolo = "";
    $nome = "";
    $calciatori = file("$percorso_cartella_dati/mercato.txt");
    $num_calciatori = count($calciatori);

    $file = file("./dati/utenti.php");
    $linee = sizeof($file);

    for(
    $num1 = 1 ; $num1 < $linee; $num1++) {
    @list(
    $outente, $opass, $opermessi, $oemail, $ourl, $osquadra, $ocittà, $ocrediti, $ovariazioni, $ocambi, $oreg) = explode("<del>", $file[$num1]);
    if (
    $outente != "admin" and $opermessi != -1) {
    $giocatore_numero[$num1-1] = $outente;
    $dati_squadra = @file("$percorso_cartella_dati/squadra_$outente");
    $titolari_veri = "";
    $num_titolari_veri = 0;
    $panchinari_veri = "";
    $num_panchinari_veri = 0;
    $titolari = explode(",", $dati_squadra[1]);
    $num_titolari = count($titolari);
    $panchinari = explode(",", $dati_squadra[2]);
    $num_panchinari = count($panchinari);
    echo
    "$outente - $num_giocatori - $num_titolari - $num_panchinari<br>";

    #############################################################
    for ($num2 = 0 ; $num2 < $num_calciatori ; $num2++) {

    $dati_calciatore = explode(",", $calciatori[$num2]);
    $numero = $dati_calciatore[0];
    $tempo_off = $dati_calciatore[5];
    $anno_off = substr($tempo_off,0,4);
    $mese_off = substr($tempo_off,4,2);
    $giorno_off = substr($tempo_off,6,2);
    $ora_off = substr($tempo_off,8,2);
    $minuto_off = substr($tempo_off,10,2);
    $adesso = mktime(date("H"),date("i"),0,date("m"),date("d"),date("Y"));
    $sec_restanti = mktime($ora_off,$minuto_off,0,$mese_off,$giorno_off,$anno_off) - $adesso;

    if (
    $dati_calciatore[4] == $outente and ($sec_restanti < 0 or $mercato_libero == "SI")) {
    $proprietario[$numero] = $dati_calciatore[4];
    $ruolo[$numero] = $dati_calciatore[2];
    $nome[$numero] = $dati_calciatore[1];
    }
    # fine if

    } # fine for $num2
    #############################################################


    for ($num2 = 0 ; $num2 < $num_titolari; $num2++) {
    $numero_titolare = $titolari[$num2];
    $nome_titolare = $nome[$numero_titolare];
    $ruolo_titolare = $ruolo[$numero_titolare];
    if (
    $proprietario[$numero_titolare] == $outente) {
    $titolari_veri .= "$numero_titolare,$nome_titolare,$ruolo_titolare
    "
    ;
    $num_titolari_veri++;
    }
    # fine if ($proprietario[$numero_titolare] == $outente)
    } # fine for $num2

    for ($num2 = 0 ; $num2 < $num_panchinari; $num2++) {
    $numero_panchinaro = $panchinari[$num2];
    $nome_panchinaro = $nome[$numero_panchinaro];
    $ruolo_panchinaro = $ruolo[$numero_panchinaro];
    if (
    $proprietario[$numero_panchinaro] == $outente) {
    $panchinari_veri .= "$numero_panchinaro,$nome_panchinaro,$ruolo_panchinaro
    "
    ;
    $num_panchinari_veri++;
    }
    # fine if ($proprietario[$numero_panchinari] == $outente)
    } # fine for $num2

    if ($num_titolari_veri < $min_num_titolari_in_formazione) {
    $titolari_veri = "";
    $panchinari_veri = "";
    }
    # fine if ($num_titolari_veri < $min_num_titolari_in_formazione)

    if ($num_panchinari_veri > $max_in_panchina) $panchinari_veri = "";
    $formazioni .= "#@& formazione #@&
    $outente
    $titolari_veri
    $panchinari_veri
    "
    ;
    }
    # fine if ($outente != "admin")
    } # fine for $num1


    if ($attiva_scontri_diretti == "SI") {
    $file_scontri = file("$percorso_cartella_scontri/squadre$num_giocatori");
    $num_linee_file_scontri = count($file_scontri);
    $finito_scontri = "NO";
    $conta_cicli_while = 0;
    while (
    $finito_scontri != "SI") {
    $ultima_giornata = 0;
    $inizio_campionato = "";
    $campionato_in_corso = "";
    $inizio_giornata = "";
    $giornata_in_corso = "";
    $scontri_diretti = "#@& scontri #@&
    "
    ;
    for (
    $num1 = 0 ; $num1 < $num_linee_file_scontri; $num1++) {
    $linea_file_scontri = togli_acapo($file_scontri[$num1]);
    if (
    $campionato_in_corso == "SI") {
    if (
    $linea_file_scontri == "</campionato>") break;

    if (
    $giornata_in_corso == "SI") {
    if (
    $linea_file_scontri == "</giornata>") break;

    $partita = explode("-",$linea_file_scontri);

    $xsquadra1 = $giocatore_numero[$partita[0]];
    $xsquadra2 = $giocatore_numero[$partita[1]];
    $scontri_diretti .= $xsquadra1."##@@&&".$xsquadra2."
    "
    ;

    }
    # fine if ($giornata_in_corso == "SI")

    if ($inizio_giornata == "SI") {
    $inizio_giornata = "";
    if (
    $linea_file_scontri > $ultima_giornata) $ultima_giornata = $linea_file_scontri;
    if (
    $linea_file_scontri == $num_giornata_campionato) $giornata_in_corso = "SI";
    }
    # fine if ($inizio_giornata)

    if ($linea_file_scontri == "<giornata>") $inizio_giornata = "SI";
    }
    # fine if ($campionato_in_corso == "SI")

    if ($inizio_campionato == "SI") {
    $inizio_campionato = "";
    if (
    $linea_file_scontri == $num_giocatori) $campionato_in_corso = "SI";
    }
    # fine if ($inizio_campionato)

    if ($linea_file_scontri == "<campionato>") $inizio_campionato = "SI";
    }
    # fine for $num1

    $scontri_diretti .= "#@& fine scontri #@&
    "
    ;
    if (
    $giornata_in_corso == "SI" or !$ultima_giornata or $ultima_giornata == 0) $finito_scontri = "SI";
    else {
    $verifica_num = ereg_replace("[0-9]","",$ultima_giornata);
    if (
    $verifica_num != "") $finito_scontri = "SI";
    else
    $num_giornata_campionato = $num_giornata_campionato - (floor($num_giornata_campionato/$ultima_giornata)*$ultima_giornata);
    }
    # fine else if ($giornata_in_corso == "SI" or ...)
    $conta_cicli_while++;
    if (
    $conta_cicli_while >= 50) $finito_scontri = "SI";
    }
    # fine while ($finito_scontri != "SI")
    } # fine if ($attiva_scontri_diretti == "SI")


    $filegiornata = fopen("$percorso_cartella_dati/$giornata","wb+");
    fwrite($filegiornata,"#@& formazioni #@&
    $formazioni#@& fine formazioni #@&
    "
    );
    if (
    $attiva_scontri_diretti == "SI") {
    fwrite($filegiornata,"$scontri_diretti");
    }
    # fine if ($attiva_scontri_diretti == "SI")
    fclose($filegiornata);

    # echo "$formazioni <br>$scontri_diretti";

    echo "<center><h4>Giornata $num_giornata creata!</h4></center><br>";
    }
    # fine else if ($creare == "NO")

    flock($lock,3);
    fclose($lock);

    $file = file("./dati/utenti.php");
    $linee = sizeof($file);

  2. #2
    L'avatar di FantaGalla
    FantaGalla non è connesso Utente
    Data registrazione
    01-07-2003
    Messaggi
    245

    Predefinito

    Codice PHP:

    for($num1 = 1 ; $num1 < $linee; $num1++) {
    @list(
    $outente, $opass, $opermessi, $oemail, $ourl, $osquadra, $ocittà, $ocrediti, $ovariazioni, $ocambi, $oreg) = explode("<del>", $file[$num1]);
    if (
    $outente != "admin") {
    $dati_squadra = @file("$percorso_cartella_dati/squadra_$outente");
    if (
    $rip_cambi_durata == 0) {
    if (@
    is_file("$percorso_cartella_dati/cambi_$outente")) unlink ("$percorso_cartella_dati/cambi_$outente");
    if (@
    is_file("$percorso_cartella_dati/cce.txt")) unlink ("$percorso_cartella_dati/cce.txt");
    }
    # if ($rip_cambi_durata == 0) {
    elseif ($rip_cambi_durata == 1) {
    $numgiorip = count($rip_cambi_giornate);
    for (
    $num2 = 0 ; $num2 < $numgiorip ; $num2++) {
    if ((
    $num_giornata+$rip_cambi_durata) == $rip_cambi_giornate[$num2]) {
    if (@
    is_file("$percorso_cartella_dati/cambi_$outente")) unlink ("$percorso_cartella_dati/cambi_$outente");
    if (@
    is_file("$percorso_cartella_dati/cce.txt")) unlink ("$percorso_cartella_dati/cce.txt");
    }
    }
    # fine for
    } #fine elseif
    } # fine if ($outente != "admin") {
    } # fine for $num1

    ##################################################################################
    # Script per la chiusura automatica della giornata
    # Riapertura giornata
    # Questa funzione è da perfezionare
    ##################################################################################

    if (@is_file("$percorso_cartella_dati/chiusura_giornata.txt")) unlink ("$percorso_cartella_dati/chiusura_giornata.txt");
    if (@
    is_file("$percorso_cartella_dati/cce.txt")) unlink ("$percorso_cartella_dati/cce.txt");
    if (@
    is_file("$percorso_cartella_dati/scambi.lock")) unlink ("$percorso_cartella_dati/scambi.lock");
    if (@
    is_file("$percorso_cartella_dati/scambi.txt")) unlink ("$percorso_cartella_dati/scambi.txt");
    echo
    "<br><b>Apertura automatica giornata</b>";


    ##################################################################################

    echo"</td></tr></table><br>";
    echo
    "</td></tr></table><br>";

    }
    # fine elseif ($_SESSION['utente'] == "admin")
    else echo"<meta http-equiv=\"refresh\" content=\"0; url=logout.php\">";

    include(
    "footer.php");
    ?>
    [/PHP]

  3. #3
    Guest

    Predefinito

    Magari specifica qual'è la riga 104.
    Il problema sembra riguardare il troppo tempo impiegato dallo script per eseguire le sue operazioni.

  4. #4
    L'avatar di Leo91
    Leo91 non è connesso Altervistiano Junior
    Data registrazione
    28-03-2004
    Residenza
    alle tue spalle
    Messaggi
    728

  5. #5
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Un piccolo dubbio: ma la funzione require() di PHP non puo' essere usata UNA VOLTA SOLA? Nella prima parte dello script vedo che e' chiamata dalle 2 alle 3 volte...

    Se cosi' fosse, prova a sostituirli con delle include()...

    Statemi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  6. #6
    L'avatar di mythologia
    mythologia non è connesso Moderatore
    Data registrazione
    05-01-2004
    Messaggi
    2,614

  7. #7
    L'avatar di FantaGalla
    FantaGalla non è connesso Utente
    Data registrazione
    01-07-2003
    Messaggi
    245

    Predefinito

    come veloccizzarlo quindi?

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •