Deprecated e codice arrestato

Ciao a tutti, probabilmente il mio è un problema banale.

Ho appena trasferito un sito da un server ad un altro. Nel nuovo server la versione di PHp installate è la 5.3.1

eseguendo la mia pagina ottengo il seguente errore:

PHP Deprecated: Function split() is deprecated in pathdelsito\admin\include\funzioni.php on line 92

La pagina mostra solo questo errore, e null'altro (sfondo bianco con solo questo testo).

Come fare a fare in modo che il PHP non arresti l'esecuzione della pagina quando trova questi errori? Nel senso che vorrei vedere la pagina completa, magari trovandomi questi messaggi di warning all'interno della pagina stessa.

Ho pieno acceso alla configurazione del server ed in particolare del PHP.ini.

Grazie per l'aiuto, Massimiliano

inviato 7 anni fa
maxtac
X 0 X

Ciao,

dalla versione 5.3 sono stati introdotti due nuovi livelli di errore: E_DEPRECATED e E_USER_DEPRECATED, quindi è proprio questa "novità" che blocca il tuo script.

Ti consiglio di consultare questa pagina del manuale [ http://php.net/manual/en/function.error-reporting.php ] dove troverai sicuramente le info che ti servono per modificare la tua configurazione.

Guido.

risposto 7 anni fa
guidoch
X 0 X

Ciao,

dalla versione 5.3 sono stati introdotti due nuovi livelli di errore: E_DEPRECATED e E_USER_DEPRECATED, quindi è proprio questa "novità" che blocca il tuo script.

Ti consiglio di consultare questa pagina del manuale [ http://php.net/manual/en/function.error-reporting.php ] dove troverai sicuramente le info che ti servono per modificare la tua configurazione.

Guido.

Rieccomi...,

comunque se sei passato a php 5.3.x tieni in considerazione l'ipotesi di aggiornare i tuoi script perchè, come ti dice PHP, split() è una funzione deprecata, probabilmente explode() può fare al caso tuo.

Ciao, Guido

risposto 7 anni fa
guidoch
X 0 X

Grazie per le risposte.

Io comunque non volevo sapere di che tipo di errore si trattava, ma come fare a far visualizzare comunque la pagina del sito con dentro il messaggio di warning, senza ottenere invece una pagina bianca contenent il solo meg di warning (anzi deprecated).

Puoi aiutarmi su questo?

Sicuramente aggiornerò i miei nuovi siti per il futuro, ma nel frattempo ho le versioni locali dei siti, su php 5.3.0, e quelle online su PHP precedente, e sono costretto a tenermi il codice per le vecchie versioni in locale anchè se ho la versione 5.3.0 di PHP.

Grazie, Massimiliano

risposto 7 anni fa
maxtac
X 0 X

Grazie per le risposte.

Io comunque non volevo sapere di che tipo di errore si trattava, ma come fare a far visualizzare comunque la pagina del sito con dentro il messaggio di warning, senza ottenere invece una pagina bianca contenent il solo meg di warning (anzi deprecated).

Puoi aiutarmi su questo?

Ti è già stato risposto con il link alla documentazione sulla gestione degli errori.

O modifichi il tuo php.ini (meglio se hai tanti file php) o aggiungi la funzione error_reporting ai tuoi script.

ciao

P.S. puoi fare una ricerca sul forum che se ne è già discusso.

risposto 7 anni fa
Mario Santagiuliana
X 0 X

Grazie per le risposte.

Io comunque non volevo sapere di che tipo di errore si trattava, ma come fare a far visualizzare comunque la pagina del sito con dentro il messaggio di warning, senza ottenere invece una pagina bianca contenent il solo meg di warning (anzi deprecated).

Puoi aiutarmi su questo?

Sicuramente aggiornerò i miei nuovi siti per il futuro, ma nel frattempo ho le versioni locali dei siti, su php 5.3.0, e quelle online su PHP precedente, e sono costretto a tenermi il codice per le vecchie versioni in locale anchè se ho la versione 5.3.0 di PHP.

Grazie, Massimiliano

MarioS ha ragione, il link che ti ho suggerito nella prima risposta ti aiuta moltissimo.

Comunque in linea definitiva ti basta modificare il tuo php.ini o i tuoi script inserendo un livello di errore pari a E_ALL ^ E_DEPRECATED. In questa maniera PHP riporta tutti gli errori eccetto E_DEPRECATED.

Ciao  :bye:

risposto 7 anni fa
guidoch
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda