Pregunta

Recibí el siguiente error / advertencia al intentar instalar Kohana / SilverStripe.
¿Qué significa y qué hago por él?

Warning:
date_default_timezone_get():
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 'Asia/Calcutta' for '5.5/no DST' instead in C:\Server\apache\htdocs\kohana\system\core\Kohana.php on line 136

¡Gracias de antemano!

¿Fue útil?

Solución

Esto no es un error, sino una advertencia, por lo que no bloquea el funcionamiento de su aplicación.

Establezca explícitamente la zona horaria correcta usando date_default_timezone_set () en C: \ Server \ apache \ htdocs \ kohana \ system \ core \ Kohana.php en la línea 136

Debe elegir entre zonas horarias válidas


Editar

Como el propio mensaje de advertencia indica que en realidad tiene una opción más limpia que editar un archivo de software de terceros. Es decir. configurando PHP como debería ser.

  • edite su php.ini y ajuste el valor de date.timezone = America / New_York

o

  • use una directiva php_value en la configuración de su servidor web para establecerla en su configuración de host o .htaccess : php_value date. zona horaria América / Nueva_York

Otros consejos

El comentario del OP a su propia pregunta anterior implica que la zona horaria predeterminada no se puede establecer en php.ini, lo cual no es cierto & # 8212; de hecho, en muchos casos configurarlo es preferido . Y dado que esta respuesta SO es uno de los primeros éxitos en Google para el "error de zona horaria predeterminada de php", les ahorraré a otros algo de cordura perdida.

Una causa muy común de este error no es tanto escribir mal la ciudad o el país de la zona (por ejemplo, "Nueva York", "Los Ángeles") en el archivo php.ini que se usa, sino incluir espacios en lugar de guiones bajos en el identificador, y por lo tanto " error ortográfico " la constante completa.

Esto también hará lo que desee, sin tener que configurarlo en cada página en tiempo de ejecución (verificado en PHP 5.4 y 5.3, en Windows, Linux y OSX):

En php.ini :

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = America/New_York
;               ^^^^^^^^^^^^^^^^  * Must_Use_Underscores *


Además, si ha revisado y vuelto a verificar la ortografía y está seguro de que es correcto, asegúrese de que está editando el archivo php.ini real que se está utilizando:

Contexto web (cree un archivo de prueba test.php y luego confirme la date.timezone allí):     

 <?php phpinfo(); ?> 

Línea de comando Linux / OSX:

$ php -i | grep "timezone" 

Línea de comando de Windows:

C:\> php -i | find "timezone" 


El orden de precedencia para recuperar la configuración de zona horaria de fecha predeterminada se detalla aquí .

Si no puede cambiar php.ini , agréguelo a su _ss_environment.php o mysite / _config.php archivos:

date_default_timezone_set('...');

donde ... es una de las zonas horarias de PHP válidas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top