Visualizzazione risultati 1 fino 12 di 12

Discussione: Log PHP

  1. #1
    tryhere non č connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito Log PHP

    Ho una pagina PHP che non produce nessun output.
    Vorrei salvare su un file di log tutti gli errori eventualmente avvenuti durante l'esecuzione, come posso fare?

  2. #2
    Guest

    Predefinito

    Penso che si potrebbe fare modificando il php.ini, ma su AV non č consentito.
    Oppure:
    Codice PHP:
    <?php
    ob_start
    ();
    //pagina
    $out = ob_get_contents();
    ?>
    A questo punto modifichi la variabile $out e levi tutti gli errori con str_replace() + regex, ma la cosa diventa laboriosa.

  3. #3
    tryhere non č connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito

    ma dopo l'esecuzione del codice che hai postato cosa contiene la variabile $out?

  4. #4
    Guest

    Predefinito

    Ti faccio un esempio:

    Codice PHP:
    ob_start();
    include(
    "my_file.php");
    $out = ob_get_contents();
    ob_end_clean();
    Con questo codice in out hai l'output di include e quindi il sorgente di my_file.php

  5. #5
    tryhere non č connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito

    Ma io volevo ottenere solo gli errori di PHP...

  6. #6
    Guest

    Predefinito

    Lo ha detto grabryhacker, devi usare le espressioni regolari (regex)
    In pratica controlli se nel sorgente di $out ci sono degli errori con preg_match(_all) o ereg.
    Ultima modifica di nokiagames : 30-08-2009 alle ore 15.35.19

  7. #7
    programmazioned non č connesso Utente attivo
    Data registrazione
    25-03-2008
    Messaggi
    440

    Predefinito

    Ma dai, la soluzione proposta sopra con un errore fatale non funzionerą mai perchč l'interpretazione dello script incluso fallirą.

    Piuttosto:
    Error Handling and Logging

    Ciao!

  8. #8
    tryhere non č connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito

    Puoi spiegarmi come funziona?
    Dalla documentazione non mi č chiarissimo...

  9. #9
    Guest

    Predefinito

    prova ad aggiungere

    Codice PHP:
    error_reporting(E_ALL);
    all'inizio del codice

  10. #10
    L'avatar di AlexKidd
    AlexKidd non č connesso Altervistiano Junior
    Data registrazione
    09-02-2007
    Messaggi
    516

    Predefinito

    Citazione Originalmente inviato da tryhere Visualizza messaggio
    Ho una pagina PHP che non produce nessun output.
    Vorrei salvare su un file di log tutti gli errori eventualmente avvenuti durante l'esecuzione, come posso fare?
    I motivi possono esser molteplici: una query che ritorna una tabella vuota, una condizione mal gestita/imprevista oppure un header che non corrisponde al contenuto

    Il PHP configurato com'č qui su AV garantisce che se non si tratta di errori semantici, ma sintattici, allora saranno sempre notificati

  11. #11
    tryhere non č connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito

    Lo so ma quello che chiedevo io era come poterli salvare su un file di log...

  12. #12
    L'avatar di AlexKidd
    AlexKidd non č connesso Altervistiano Junior
    Data registrazione
    09-02-2007
    Messaggi
    516

    Predefinito

    puoi registrare l'ultimo errore http://it2.php.net/manual/en/functio...r-get-last.php oppure utilizzare un handler che invece di gestirli li registra tutti http://it2.php.net/manual/en/functio...or-handler.php

Regole di scrittura

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