Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [error handling] fatal errors e output buffering

    ciao a tutti,
    recentemente mi sto dilettando con la gestione degli errori, in php4.

    per i NOTICE e gli WARNING possiamo ovviamente adottare la funzione set_error_hanlder ma non sono ancora riuscito a trovare un metodo per i FATAL (e volendo i PARSE).
    fondamentalmente vorrei capire più approfonditamente come unire appunto l'error_handling con l'output_buffering...

    vi propongo un paio di link:
    http://www.zend.com/zend/spotlight/e...2&view=1#notes
    http://www.zend.com/zend/spotlight/c...0&view=1#notes

    gli ho provati entrambi, ma vorrei, con il vostro aiuto approfondire la questione.
    se avete suggerimenti... sono quello che cerco

    grazie mille.
    grazie... ancora

  2. #2
    scusami ma non ha alcun senso voler gestire questo tipo di errori

    gli errori fatali sono errori che causano danni seri mentre i warning sono errori che comunque vanno gestiti manualmente

    i notice la cosa cambia perché sono possibili errori che vanno comunque gestiti

    le pagine di cortesia a causa di errori del codice vanno visualizzate solo in caso di warning, in genere, che causano l'impossibilità di proseguire ma non in altri casi
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  3. #3
    si, ok... sono daccordo... ma volendolo fare?

    per ora il metodo con cui gestisco i FATAL è questo (leggermente da me modificato):
    http://www.zend.com/zend/spotlight/c...ew=1#Heading4a
    che praticamente, tramite regexp, controllo il buffer e se trovo una stringa che corrisponde ad un errore lo gestisco.

    il fatto è che non è proprio il top... nel senso un conto è un handler "serio", un conto è cercare una stringa che assomigli a quella di un report di un errore...

    vorrei fondamentalmente fare mio l'approccio che andrebbe usato, la collaborazione praticamente fra error_handler e output_buffering...

    per i PARSE mi sa che non c'è nulla da fare giusto? (lascia stare che è pressochè inutile... )
    grazie... ancora

  4. #4
    per i parse credo proprio di si

    mentre per i fatal, purtroppo, o usi quel sistema oppure vedi se li puoi gestire col normale error handler di php usando il prepend del file

    oppure puoi vedere usando un estensione ad hoc che internamente gestisca gli errori caricando su richiesta un apposito file php o qualcosa del genere, che probabilmente sarebbe la soluzione migliore
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  5. #5
    ti ringrazio per la risposta ma ti chiedo qualche precisazione

    per i PARSE... credi proprio di si nel senso che non si possono gestire o il contrario?

    e per i FATAL invece non ho capito bene l'ultimo metodo a cui ti riferisci:
    "...un estensione ad hoc che internamente gestisca gli errori caricando su richiesta un apposito file php o qualcosa del genere".

    non so, sei hai un link... altrimenti mi faresti un favore con qualche ulteriore dettaglio...

    ti ringrazio!
    grazie... ancora

  6. #6
    ciao, senti...
    siccome mi trovo a paragonare stringhe per catture almeno i FATAL, pensavo...
    dici che è comunque meglio utilizzare set_error_handler per gli errori gestibili e le regexp per la cattura dei blocking oppure, utilizzando:

    codice:
    '/<br( \/)?>\r?\n([b]((Fatal|Parse) error).*<\/b>:.*)<br( \/)?>/'
    e

    codice:
    '/<br( \/)?>\r?\n([b]((Strict n|N)otice|Warning).*<\/b>:.*)<br( \/)?>/'
    faccio tutto nel solito modo, senza scomodare più funzioni...

    grazie
    grazie... ancora

  7. #7
    up
    grazie... ancora

  8. #8
    up_2
    grazie... ancora

  9. #9
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Veramente quella pagina dice che lo script nel prepended file gestisce anche gli errori di parsing

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.