Ieri sera è stato aggiornato il server sul quale vengono ospitati tutti i domini che gestisco.
E’ stato fatto l’upgrade di php dalla versione 5.2 alla versione 5.3 perchè viene ritenuta molto più performante.
Con il passaggio a questa versione di PHP, saltano fuori alcuni errori legati all’uso di funzioni per la gestione delle date di TXP. Prima della versione 5.3 veniva utilizzato il TZ di default se questo non era definito. Adesso con la nuova versione di PHP è necessario impostarlo manualmente, perche con la 5.3 il TZ non è più utilizzato per impostare il fuso orario.
Verranno quindi visualizzati degli errori che indicano appunto che il timezone non è definito:
Warning: getdate() [function.getdate]: It is not safe to rely on the system’s timezone settings. You are required to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected ‘Europe/Berlin’ for ‘CEST/2,0/DST’ instead in /var/www/vhosts/XXXXXXXX.XX/httpdocs/textpattern/lib/txplib_misc.php on line 1338
Per ovviare a questo problema, viene segnalato nel forum di supporto di TXP tramite un post di Gomedia che bisogna impostare manualmente il timezone direttamente nel file php.ini: date.timezone = Australia/Melbourne //set your timezone
Non avendo la possibilità di modificare il php.ini del server, ho utilizzato la funzione di PHP che imposta il timezone: date_default_timezone_set() si occupa appunto di impostare il timezone manualmente.
L’elenco dei Timezone disponibili ed accettate sono disponibili nel manuale di PHP
Ho quindi modificato il file config.php presente nella directory /textpattern/ aggiungendo come ultima riga il codice date_default_timezone_set('Europe/Rome');