Cambiar la zona horaria en PHP es un paso esencial para asegurarse de que las funciones de fecha y hora de tus aplicaciones web se comporten de manera consistente y precisa, y estén acordes con la región horaria donde se localiza la aplicación o sitio web. Esto es particularmente importante para aplicaciones que manejan registros de tiempo críticos, como sistemas de reservas, CRMs, registros de eventos y aplicaciones de comercio electrónico. En este artículo, vamos a explorar dos métodos para cambiar la zona horaria en PHP: modificando el archivo php.ini
y usando un archivo .htaccess
.
Método 1: Cambiar la Zona Horaria en el archivo php.ini
El archivo php.ini
es el archivo de configuración principal de PHP. Cambiar la configuración de la zona horaria aquí afectará a todas las aplicaciones PHP que se ejecuten en el servidor.
Pasos para Cambiar la Zona Horaria en php.ini:
- Ubicar el archivo php.ini: El archivo
php.ini
se encuentra generalmente en la carpeta de instalación de PHP. La ubicación puede variar dependiendo del sistema operativo y de cómo se haya instalado PHP.- En un servidor Linux/Unix, puede estar en
/etc/php/7.x/apache2/
o/etc/php/7.x/cli/
, dependiendo de si está configurando PHP para la interfaz de línea de comandos (CLI) o para Apache. - En Windows, puede estar en
C:\xampp\php\
si está usando XAMPP, por ejemplo. - En algunos servicios de hosting compartido, se puede econtrar un
php.ini
alternativo en la carpeta raíz del sitio web que solo afecta al sitio compartido.
- En un servidor Linux/Unix, puede estar en
- Editar el archivo php.ini: Abre el archivo
php.ini
con un editor de texto comonano
,vim
,Notepad++
, etc. - Buscar la directiva
date.timezone
: Puedes buscar esta directiva en el archivo. Si no existe, puedes agregarla:
date.timezone = "America/New_York"
Reemplaza «America/New_York» con la zona horaria adecuada para tu región. Puedes encontrar una lista de zonas horarias admitidas en la documentación oficial de PHP. - Guardar los cambios y reiniciar el servidor web: Después de guardar los cambios en
php.ini
, necesitas reiniciar su servidor web para que los cambios surtan efecto. En el caso de un hosting compartido, no haría falta ya que se cargaría automáticamente elphp.ini
alternativo.
Método más sencillo si dispones de un panel de control cPanel:
En este caso es muy sencillo y es el que implementamos en k3bone para los hostings compartidos. Basta con ir dentro de cPanel al bloque Sofware y hacer clic en Editor INI de MultiPHP (MultiPHP INI Editor). Ya dentro tienes que elegir la pestaña «Modo Editor» y el dominio al que se aplica.
A continución introducimos la directiva date.timezone = "America/New_York"
al final del área de texto. Reemplaza «America/New_York» con la zona horaria adecuada para tu región.
Para finalizar haz clic en Guadar.
Método 2: Cambiar la Zona Horaria Usando un archivo .htaccess
Si no tienes acceso al archivo php.ini
, como ocurre con algunos alojamientos compartidos, puedes cambiar la zona horaria usando un archivo .htaccess
.
Pasos para Cambiar la Zona Horaria Usando .htaccess:
- Ubicar o crear un archivo .htaccess: Este archivo debe estar en la raíz del directorio de su aplicación web.
- Agregar la directiva php_value: Añade la siguiente línea al archivo
.htaccess
para establecer la zona horaria:
php_value date.timezone "America/New_York"
Reemplaza «America/New_York» con la zona horaria adecuada para tu región. - Guardar los cambios: Una vez que hayas guardado el archivo
.htaccess
, los cambios deberían aplicarse inmediatamente sin necesidad de reiniciar el servidor.
Comprobación de la Configuración
Después de cambiar la zona horaria usando cualquiera de los métodos anteriores, puedes verificar que la configuración es correcta creando un archivo PHP que muestre la configuración actual de la zona horaria.
Ejemplo de Script PHP para Verificar la Zona Horaria:
echo "La zona horaria predeterminada es: " . date_default_timezone_get();
echo "<br>"; echo "La fecha y hora actual es: " . date('Y-m-d H:i:s');
Guarda este código en un archivo llamado timezone_test.php
, súbelo al servidor y accede a él a través de tu navegador web. Deberías ver la zona horaria configurada y la fecha y hora actual según esa zona horaria.
Conclusión
Cambiar la zona horaria en PHP es un proceso sencillo que puede hacerse a través del archivo php.ini
o del archivo .htaccess
, dependiendo de sus permisos y del entorno de alojamiento. Asegurarse de que tu aplicación web utiliza la zona horaria correcta es crucial para la precisión y consistencia de las operaciones que dependen del tiempo.
Si tienes el alojamiento en k3bone y no sabes como hacerlo o necesitas más ayuda, escríbenos, estaremos encantados de ayudarte.