Visualizzazione dei risultati da 1 a 10 su 10

Discussione: time limit exceeded

  1. #1

    time limit exceeded

    Ciao a tutti,

    ho scritto del codice che deve leggere un file excel di circa 9000 e deve inserire i dati letti sulle righe in alcune tabelle del db.
    Il codice sembra funzionare, nel senso che i dati vengono inseriti correttamente nel db però dopo un po mi dice:

    Fatal error: Maximum execution time of 500 seconds exceeded in C:\Programmi\Apache Software Foundation\Apache2.2\htdocs\caricadatisnam.php on line 194

    Ho modificato il maximum_execution_time di php però non sembra essere cambiato molto e continua a restituirmi lo stesso errore.

    Qualcuno sa come potrei muovermi??

    Graziee e ciao

  2. #2
    Dopo aver fatto la modifica, hai riavviato il web server?

    Hai provato ad implementare il codice in modo da eseguire l'import un po alla volta (es. 250 righe alla volta)?

  3. #3
    Ho anche aggiunto
    set_time_limit(30000)

    ma ancora nulla

  4. #4
    Grazie della risposta...
    si il server l'ho riavviato..se guardo phpinfo mi fa vedere il time limit che ho inserito.

    Come faccio ad inserire un tot di righe alla volta??

  5. #5
    Ne inserisci un po', salvi in sessione il punto dove sei arrivato, restituisci un meta refresh/javascript location.href per aggiornare la pagina, e ricominci dal punto salvato in sessione.

  6. #6
    Grazie del consiglio...
    ...ora provo....
    Ciaoooo

  7. #7
    Supponiamo che carico appunto 250 righe alla volta....inizio il caricamento e quando l'indice arriva a 250 setto la variabile $_SESSION[indice] = 250 chiudo la sessione, la distruggo e poi la riapro??
    Scusate ma non mi è molto chiaro il funzionamento!!!
    Sto studicchiano qua e la articoli a riguardo...ma fatico un po a farmeli entrare in testa!!!!
    Grazieeee

  8. #8
    Studiati questo codice:

    Codice PHP:
    <?php 

    session_start
    ();

    $_SESSION['offset'] = isset($_SESSION['offset']) ? $_SESSION['offset'] : 0;

    // TODO: import next 250 rows
    sleep(1);

    printf('Ho importato le righe da %d a %d
    '
    $_SESSION['offset'], $_SESSION['offset'] + 250);

    $_SESSION['offset'] = $_SESSION['offset'] + 250

    if (
    $_SESSION['offset'] >= 1000) {
        print(
    'Finito!');
        
    $_SESSION['offset'] = 0;
    } else {
        
    printf('<meta http-equiv="refresh" content="1;URL=" />'$_SERVER['PHP_SELF']);
    }

    ?>

  9. #9
    Gentilissimo...ti ringrazio...
    ...ora studio

  10. #10
    Sto ancora studiando le sessioni, per ora non con grandi risultati, ma chissà...arriveranno!!!

    Rispunta sempre questo maximum_execution_time 500 seconds exceeded...quello che non riesco a capire è dove posso trovare questo dato per cambiarlo???
    io sono andato in php.ini e il maximum_execution_time è 1000, ho modificato l'impostazione nell'htaccess e nel httpd.conf ho impostato le regole per l'override a ALL....però torna sempre fuori sto 500....

    Graziee

    P.S.
    Filippo.Toso scusami ma sono veramente uno zuccone!!!!

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.