Recibí este error cuando solicité actualizar la versión de PHP de 5.2.17 a PHP 5.3.21 en el servidor.
<div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;">
<h4>A PHP Error was encountered</h4>
<p>Severity: Warning</p>
<p>Message: date(): 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 'America/New_York' for 'EDT/-4.0/DST' instead</p>
<p>Filename: libraries/Log.php</p>
<p>Line Number: 86</p>
</div>
Warning: date(): 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 'America/New_York' for 'EDT/-4.0/DST' instead in /filelocation right here/system/libraries/Log.php on line 86
Warning: date(): 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 'America/New_York' for 'EDT/-4.0/DST' instead in /filelocation right here/system/libraries/Log.php on line 99
<div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;">
<h4>A PHP Error was encountered</h4>
<p>Severity: Warning</p>
<p>Message: date(): 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 'America/New_York' for 'EDT/-4.0/DST' instead</p>
<p>Filename: libraries/Log.php</p>
<p>Line Number: 99</p>
</div>
php.ini
utilizada por apache, simplemente ejecute el siguiente comandophp -i | grep php.ini
.Si no puede modificar su configuración de php.ini, también podría usar el siguiente fragmento al comienzo de su código:
La lista de zonas horarias se puede encontrar en http://www.php.net/manual/en/timezones.php .
fuente
Agregue lo siguiente en su
index.php
archivo. La primera vez que me encontré con esto fue cuando moví mi aplicación de mi servidor XAMPP a Apache 2.2 y PHP 5.4 ...Le aconsejaría que lo haga en su
index.php
archivo en lugar delphp.ini
archivo.fuente
en vez de
funcionó para mí (muestra el año actual y ya no muestra el mensaje de error). (Gracias a Chris arriba)
fuente
Si estas no son tus opciones
php.ini
.date_default_timezone
llamada.En lugar de que
date
puedas usargmdate
.Lo he usado
gmdate( "Y" )
cuando necesitaba un año para un snipplet de copyright.fuente
Si está utilizando CodeIgniter y no puede cambiar php.ini, agregué lo siguiente al comienzo de index.php:
fuente
Siempre mantengo esta línea dentro de la raíz de codeigniter
index.php
. Para que mi código funcione en cualquier servidorLista de zonas horarias admitidas aquí
fuente
@Justis me indicó la dirección correcta, pero su código no funcionó para mí. Esto hizo:
Documentación: http://www.php.net/manual/en/function.date-default-timezone-get.php
Esta solución no es solo para aquellos que no tienen acceso completo al sistema. Es necesario para cualquier secuencia de comandos cuando se la proporciona a otra persona que no sea usted. Nunca se sabe en qué servidor se ejecutará el script cuando lo distribuya a otra persona.
fuente
Este problema me ha estado molestando durante ALGUNAS veces, ya que estoy tratando de inyectar un script "createbucket.php" en el compositor y me siguen diciendo que mi zona horaria es incorrecta.
Al final, lo único que solucionó el problema fue:
$ sudo nano /etc/php.ini
Buscar zona horaria
Asegúrese de eliminar el
;
Entonces finalmente
Y estarás listo para ir :)
fuente
Tuve que ponerlo entre comillas dobles.
fuente
/etc/php.ini: date.timezone = America/Los_Angeles
Puede configurar la zona horaria en su
.htaccess
archivofuente
Además de configurar date.timezone = como se menciona en varias respuestas, encontré un error en el archivo php.ini que impedía que llegara a date.timezone. La forma en que lo encontré fue ejecutando php desde la línea de comandos en una terminal. esto causó que se informara un error en la línea 114. En mi caso, había descomentado una configuración para mostrar errores que tenían '|' entre 2 valores No le gustó. Eliminé uno de los valores y el | y todo estuvo bien después de eso
fuente
Un método simple para dos zonas horarias.
fuente
Para php (o su ubicación).
fuente
Una solución rápida mientras rectifica las incompatibilidades es deshabilitar la notificación de errores en su
index.php
archivo:Inserte la línea de abajo en su index.php a continuación
define( ‘_JEXEC’, 1 );
fuente
Estoy alojando mi bucket EC2 y S3 en la región us-west-2 (Oregon). Cuando estaba llamando
$s3client->listBuckets()
para enumerar los cubos existentes en mi php, recibí una excepción:"Uncaught exception 'Exception' with message 'DateTime::__construct(): It is not safe to rely on the system's timezone settings...".
realicé los siguientes cambios para que funcione. Compartir estos detalles en caso de que alguien se enfrente a un problema similar y alguna de las respuestas anteriores no haya ayudado.ntpstat
comando. Si obtiene un error, este enlace lo ayuda a saber qué está yendo mal.date.timezone
no estaba configurado en ningún valor y también fue comentado por defecto. No comenté quitando ';' antes de esta línea y establezca su valor en"UTC"
y guarde el archivo.sudo service httpd restart
ysudo service ntpd restart
.Después de esto, puedo enumerar los cubos con éxito sin ninguna excepción. Espero que esto ayude.
fuente
Si usa Plesk, pruébelo. Primero, abra la configuración de PHP, en la parte inferior de la página, cambie date.timezone de DEFAULT a UTC.
fuente
Tuve este error al ejecutar php-fpm en una cárcel chroot. Intenté crear etc / php.ini y / usr / share / zoneinfo en el directorio chroot, pero simplemente no funcionó. Incluso intenté colocar los demonios php-fpm para ver qué archivo les faltaba, nada saltó.
Entonces, en caso de que Google lo traiga aquí porque obtiene este error cuando usa php-fpm configurado para chroot, probablemente pueda solucionarlo agregando esta línea
/etc/php-fpm.d/www.conf
en la sección ENV:Normalmente se requiere un reinicio de php-fpm para que surta efecto. Espero que esto ayude a alguien por ahí.
fuente
En mi caso particular, tengo PHP configurado para usar PHP-FPM (FastCGI Process Manager). Al ejecutar
phpinfo()
desde CLI, vi la zona horaria correcta que había configurado en php.ini, sin embargo, todavía era incorrecta en el navegador y causaba que mi código fallara. Simplemente necesitaba reiniciar elphp-fpm
servicio en el servidor.Es posible que también deba reiniciar el
httpd
servicio si editó elphp.ini
fuente
Esta respuesta anterior de CtrlX es la respuesta correcta, pero puede no funcionar completamente. Agregué esta línea a mi archivo php.ini :
pero no eliminó el error PHP para todos mis archivos porque algunos de mis scripts PHP están en subcarpetas. Así que tuve que editar el archivo .htaccess para configurar php.ini para usarlo de forma recursiva (en subcarpetas):
donde account_name es su nombre de cuenta de cpanel y public_html es la carpeta en la que se encuentra su archivo php.ini.
fuente
Para usuarios de docker: cree un archivo timezone.ini local en su proyecto, configure la configuración en docker-compose.yml,
timezone.ini
fuente
Si no tiene acceso al archivo
php.ini
, cree o edite un.htaccess
archivo en la raíz de su dominio o sub y agregue esto (generado por cpanel):fuente
Hay dos opciones para resolver esto
Primero, cambie al archivo php.ini y coloque la zona horaria predeterminada
Una vez que haya configurado la zona horaria en php.ini reinicie el servidor
En segundo lugar, cambie la zona horaria de asignación de tiempo de ejecución según sus necesidades
fuente
En su página de conexión, coloque un código como este en
date_default_timezone_set("Africa/Johannesburg");
función de su ubicación actual.fuente