Classe in error_handler
Inviato: 17/08/2010, 20:51
Salve, avrei un problema che però non riesco a risolvere per conto mio per il motivo che segue:
Ho installato xampp perchè mamp senza motivo non mi mostrava gli errori anche se il file php.ini aveva display_error settato su on e anche se il parametro error_reporting era E_ALL. Solo che su xampp il file php.ini non riesco ad editarlo perchè se clicco su salva dopo le modifiche mi dice "Impossibile registrare il file" anche se il file è in modalità Lettura e Scrittura. Xampp di default ha l'error_reporting settato su E_ALL eccetto i notice.
Ho creato una funzione per gli errori di php che poi viene definito attraverso la funzione nativa set_error_handler(callback function); Dentro alla funzione ho la necessità di caricare una classe per la gestione del template e quindi ciò che deve essere mostrato quando comprare l'errore. Il file in cui c'è l'error_handler vi sono già gli include necessari per richiamare i file che contengono la classe template.
Il problema è che se provoco un parse error non mi viene mostrato come dico io, ovvero richiamando la classe template, ma come php fà di default, ovvero pagina bianca con scritta nera.
Se provoco un notice ad esempio facendo l'echo di una variabile che non è settata non mi mostra nulla a causa del file php.ini. Se utilizzo la funzione trigger_error con tipo di errore E_USER_WARNING/NOTICE/ERROR non mi mostra nulla. Se provo un Fatal error attraverso un require(); che richiama un file inesistente non mi mostra nulla. Non sò più cosa fare. Non mi mostra nulla che non sia i Parse error e oltretutto senza caricare la funzione.
Siccome pensavo fosse a causa di una classe ho provato ad inserire un echo 'Errore personalizzato' dentro la funzione di error_handler ma non mi mostra nemmeno quello. Boh.
Idee?
Ho installato xampp perchè mamp senza motivo non mi mostrava gli errori anche se il file php.ini aveva display_error settato su on e anche se il parametro error_reporting era E_ALL. Solo che su xampp il file php.ini non riesco ad editarlo perchè se clicco su salva dopo le modifiche mi dice "Impossibile registrare il file" anche se il file è in modalità Lettura e Scrittura. Xampp di default ha l'error_reporting settato su E_ALL eccetto i notice.
Ho creato una funzione per gli errori di php che poi viene definito attraverso la funzione nativa set_error_handler(callback function); Dentro alla funzione ho la necessità di caricare una classe per la gestione del template e quindi ciò che deve essere mostrato quando comprare l'errore. Il file in cui c'è l'error_handler vi sono già gli include necessari per richiamare i file che contengono la classe template.
Il problema è che se provoco un parse error non mi viene mostrato come dico io, ovvero richiamando la classe template, ma come php fà di default, ovvero pagina bianca con scritta nera.
Se provoco un notice ad esempio facendo l'echo di una variabile che non è settata non mi mostra nulla a causa del file php.ini. Se utilizzo la funzione trigger_error con tipo di errore E_USER_WARNING/NOTICE/ERROR non mi mostra nulla. Se provo un Fatal error attraverso un require(); che richiama un file inesistente non mi mostra nulla. Non sò più cosa fare. Non mi mostra nulla che non sia i Parse error e oltretutto senza caricare la funzione.
Siccome pensavo fosse a causa di una classe ho provato ad inserire un echo 'Errore personalizzato' dentro la funzione di error_handler ma non mi mostra nemmeno quello. Boh.
Idee?