tengo esta entrada en mi archivo php.ini:php date.timezone no funciona correctamente para la secuencia de línea de comando sólo
date.timezone = 'Europe/London';
pero cada vez que uso el DateTime() en un script de línea de comandos sigo teniendo el siguiente error:
Exception: DateTime::__construct(): 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/London' for 'BST/1.0/DST' instead
por lo tanto, tienen que hacer lo siguiente en cualquier script para conseguir que esto funcione:
date_default_timezone_set('Europe/London');
W ¿Qué otra cosa puede estar causando este error?
ACTUALIZACIÓN
que utilizó la siguiente, tanto en la línea de comandos y navegador Web:
<?php
var_dump(ini_get('date.timezone'));
exit;
En la línea de comandos que consigo:
string(0) ""
en el navegador web me sale:
string(13) "Europe/London"
¿Reinició su servidor después de cambiar el archivo php.ini? –
Sí, se ha reiniciado, pero el valor se ha establecido durante un tiempo de todos modos y el servidor se ha reiniciado varias veces en el medio. Es solo ahora cuando estoy escribiendo un script de línea de comandos que la Excepción está ocurriendo – user1572427
¿Podría probar echo ini_get ('date.timezone'); y ver lo que realmente está configurado? –