Si en algún momento nos hemos encontrado con este error al programar en php lo más fácil que su solución pase por una falta de configuración. Lo solucionamos a continuación.
El error detectado es el siguiente:
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.
Que más que un error es simplemente una advertencia, ya que estamos usando una función a la que le falta una configuración. Esto se debe por que en el servidor web de nuestra máquina, en el archivo php.ini, no se ha configurado este parámetro, y a pesar de ser una advertencia lo ideal sería revisarlo para poder añadir la configuración.
Si queremos solucionar este aviso que se puede volver un tanto incómodo los pasos son los siguientes:
- Abriremos nuestro archivo php.ini
Dependiendo de si utilizamos CPanel, Plesk, u otro panel de administración, posiblemente nos permita editar el php.ini desde el panel. En caso contrario podemos abrir nuestra consola ssh y editar con nano el archivo php.ini de la siguiente forma:nano /etc/php.ini
- Localizaremos la línea a editar
Es tan simple como pulsar la combinación de teclas control+w estando en nano, y una vez hecho esto escribimos timezone, deberíamos llegar a la parte en la que encontramos el siguiente código:[Date] ; Defines the default timezone used by the date functions ; http://php.net/date.timezone ; date.timezone =
- Configuramos el date.timezone
Ahora vamos a editar una de las líneas de esta parte, dejándolo como vemos a continuación:[Date] ; Defines the default timezone used by the date functions ; http://php.net/date.timezone date.timezone = Europe/Madrid
Por supuesto deberás cambiar la parte en la que indica Europe/Madrid por tu zona horaria, para que sea correcta según tus necesidades
Puedes encontrar una lista de zonas horarias para la función date aquí. Con estos simples pasos habremos eliminado la alerta ya que php no tendrá que andar buscando dentro del sistema operativo la zona horaria, que en algunas ocasiones tampoco está configurada y además puede ser un problema de seguridad.