Impostare l'error reporting su zero vuol dire nascondere (quindi non risolvere) gli errori: se su un hoster non si vedono e sull'altro si ... il codice rimane comunque errato!

Il fatto che magari funzioni può dipendere da qualche configurazione specifica abilitata dall'hoster (leggasi output buffering abilitato da php per, ad esempio, abilitare la compressione dei dati in uscita), ma questo non vuol dire che il codice operi in modo corretto

in generale l'error_reporting conviene tenerlo sempre abilitato al massimo livello cosi da poter risolvere TUTTI gli errori, quelli minori e quelli maggiori perché sono comunque entrambi errori (molti hanno la cattiva abitudine di scrivere codice con i NOTICE spenti con il risultato che dopo si scoprono strani problemi ... spesso derivanti da questo)

error_reportin(E_ALL + E_NOTICE);