2012-01-10 12 views
14

La actualización a un nuevo servidor, que repite dos errores:Cómo corregir los errores de PHP relacionados con la zona horaria (function.strtotime y function.date)

Advertencia: strtotime() [function.strtotime]: Es no es seguro confiar en la configuración de la zona horaria del sistema. Usted es requerido para usar la configuración de fecha.tiempo o la función date_default_timezone_set(). En el caso de si usó cualquiera de esos métodos y todavía recibe esta advertencia , es muy probable que haya escrito mal el identificador de zona horaria. Hemos seleccionado 'America/New_York' para 'EST/-5.0/no DST' en lugar de ...

y

Advertencia: date() [function.date]: No es seguro confiar en la configuración de la zona horaria del sistema . Usted es requerido para usar la configuración de fecha.tiempo o la función date_default_timezone_set(). En el caso de si usó cualquiera de esos métodos y todavía recibe esta advertencia , es muy probable que haya escrito mal el identificador de zona horaria. Nosotros seleccionamos 'America/New_York' para 'EST/-5.0/no DST' en lugar de

¿Cómo hago para fijar estas?

código en cuestión es la siguiente:

'date' => date("Y-M-d",strtotime($Array['_dateCreated'])), 

He intentado poner esto en un include en la parte superior de todas mis páginas:

<?php 
date_default_timezone_set('America/New_York'); 
?> 

Gracias de antemano por su ayuda.

+0

Relacionados: http://stackoverflow.com/q/4428546/819417 –

+1

*** Nota: *** El archivo 'php.ini' de' php-cli' es diferente de 'apache2''s' archivo php.ini'. Sugiero un enlace simbólico entre ellos para mantenerlos sincronizados y evitar confusiones. –

Respuesta

28

date.timezone en php.ini puede solucionar esto globalmente.

+1

Por alguna razón, las adiciones de mi archivo /etc/php.ini como date.timezone parecen ignorarse incluso después de reiniciar apache. – Keefer

+0

Resulta que /etc/php.ini no es el correcto, más bien es el [dominio] /httpdocs/etc/php.ini el que tiene un efecto. – Keefer

+1

Puede averiguar qué 'php.ini' le importa a su servidor haciendo' phpinfo() 'y buscando' Archivo de configuración cargada'. – Basti

25

solucionado esto poniendo

date_default_timezone_set('America/New_York'); 

En el archivo real que se quejaba.

Cuestiones relacionadas