Visualizzazione risultati 1 fino 5 di 5

Discussione: Timeout del lancio di un file php

  1. #1
    Guest

    Predefinito Timeout del lancio di un file php

    Ciao, ho un problema e sono sicuro che qualcun'altro prima di me l'ha gia' avuto.

    Avete presente quei favolosi file .sql che ci da phpMyAdmin come backup? Dovrei riuscire ad inserirlo nel database...

    Il problema e' che ho bisogno di uno script che lo faccia... il file e' lungo 400k e ha 4 mila righe.. se provo ad inserirlo nel database riga per riga (sono solo insert) il php mi va in timeout (15 secondi).

    Come posso in modo automatico spezzettare questo file ed eventualmente inserirlo un po' alla volta?

    Il timeout e' legato all'esecuzione di quel file php oppure ad un ciclo che non ha restituito nessun output?

    Come posso risolvere?

    E' possibile in altervista eseguire comandi bash? Tipo un TAIL o un HEAD.... con quei comandi potrei spezzettarmi il file come voglio...

    Grazie in anticipo.

    P.S. No.. non posso farlo a mano :(

  2. #2
    Guest

    Predefinito

    dividilo in parti più piccole cn un editor qualsiasi e dovrebbe andare ;)
    cia!

  3. #3
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Sfo:
    come ha indicato chiaramente, per qualche motivo -a noi comunque ignoto- non può spezzettarlo a mano (MA PERCHE'? boh)

    canenero:
    vediamo se ho capito, ti sei programmato tu a mano uno script php che si scorre tutte le righe aprendo in lettura il file SQL (giusto?) ed esegue per ciascuna riga una query di insert. Ma non ti funge e va in timeout.
    La curiosità è:
    ma nella pratica, ha eseguito con SUCCESSO almeno qualche riga??????? cioè nella tabella vedi qualcuno di quei record aggiunti?

    se la risposta è "NO non vedo alcun record aggiunto", mi vengono due sospetti distinti:

    1) hai iterato MALE la lettura delle varie righe e lo script PHP entra in un loop infinito (in pratica non procede di riga e legge sempre la stessa, magari un commento) e in questo caso CI STA TUTTO il timeout! è un effetto tipico causato da un "alluppamento".

    2) oppure esegui correttamente la lettura delle varie righe sql, ma magari nelle INSERT (contenute nel file dump .sql) è specificato un indice di riga e chiave primaria che GIA' esistono (magari non hai ripulito la tabella?? non so). e va in chiave duplicata.
    In questo e altri casi dove l'errore è causato da SQL dovresti assicurarti che scrivi il messaggio di errore nell'output, ad es. così:
    mysql_query($query) or die(mysql_error());
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  4. #4
    Guest

    Predefinito

    Mi spiace ma lo script funziona sul mio server locale... il problema e' che su altervista questa opzione:
    max_execution_time = 180 ; Maximum execution time of each script, in seconds

    E' settata a 15 secondi.

    Dopo 15 secondi ottengo questo output:
    Fatal error: Maximum execution time of 15 seconds exceeded in /membri/canenero666/Travian/portale/popola.php on line 25

    Lo script funziona ma dura troppo tempo e il server lo blocca prima della fine.

    P.S. Non posso spezzettare il file perche' lo dovrei fare a mano... questo lavoro lo deve fare uno script 4 volte al giorno non posso farlo io...

  5. #5
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Una info in più, per capire:
    quale metodo usi per "schedulare" le esecuzioni di uno script?
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

Regole di scrittura

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