Zona horaria y más problemas con Cakephp 1.3 y PHP 5.3.2
datetime timezone (5)
en el servidor tengo php 5.3.2, y cakephp 1.3.
Cuando ejecuto la aplicación cakephp, me da los siguientes errores:
Advertencia (2): strtotime () [ http://php.net/function.strtotime] : no es seguro confiar en la configuración de zona horaria del sistema. Debe utilizar la configuración date.timezone o la función date_default_timezone_set (). En caso de que haya usado alguno de esos métodos y aún reciba esta advertencia, lo más probable es que haya escrito incorrectamente el identificador de zona horaria. Seleccionamos ''Europa / Berlín'' para ''CEST / 2.0 / DST'' en lugar de [ROOT / cakephp / cake / libs / cache.php, línea 570]
Además, estoy recibiendo algunos errores más:
Aviso: Intentar obtener la propiedad de no-objeto en /htdocs/cakephp/cake/libs/cache/file.php en la línea 248 Error fatal: llamar a una función miembro cd () en un no-objeto en / htdocs / cakephp / cake / libs / cache / file.php en la línea 248
La zona horaria en php.ini se define como Europa / Londres
Siempre recibo ese error, a pesar de que defino o no date_default_timezone_set(''UTC'')
, o Europa / Londres, o lo que sea ...
realmente frustrante ......... por favor ayuda ...
ACTUALIZACIÓN: algo está mal con mi instalación de php ... si ejecuto
<?php echo date(''Y''); ?>
... me da pantalla en blanco. sin resultados...
¿hay tal vez un problema?
Como dijo Leo, es un problema con PHP 5.3. La mejor solución es modificar su servidor web php.ini y configurar
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = "Europe/Rome"
O si no puede modificar el servidor web php.ini, puede agregar estas opciones a la raíz del archivo .htaccess en su sitio:
php_flag date.timezone = "Europe/Rome"
He tenido este error por un tiempo desde que el co de hosting. actualizado a 5.3 también
En el /app/config/config.php, alrededor de la línea 244, hay una nota acerca de no comentar la siguiente línea cuando se ejecuta en 5.3
Acabo de cambiar la siguiente línea a:
date_default_timezone_set(''America/Toronto''); // your favourite time-zone here - and don''t get me started about why Toronto is U.S. city (joking)
Podría poner esa línea en bootstrap.php, pero podría obtener este error aún, config.php se carga primero
Me encontré con esto cuando uso cakeshell para ejecutar scripts cron de línea de comandos. Después de muchos problemas, descubrí que, además de la solución de bancer anterior, necesitaba importar core.php en mis scripts de shell php como tales:
function main() {
App::import(''Controller'', ''Core'');
//run controllers and actions that cause error here
}
Agregar ''Core'' a App :: import () lo resolvió por mí.
Para manejar la primera advertencia, debe descomentar la línea date_default_timezone_set(''UTC'');
en /app/config/core.php. Puede reemplazar UTC
con su zona horaria como lo sugirió Leo.
Tuve exactamente el mismo problema y Google me llevó a esta publicación.
date_default_timezone_set("America/Anchorage");
el problema agregando la línea date_default_timezone_set("America/Anchorage");
a la parte superior de [directorio base de la torta] /libs/cache.php
Probablemente quieras reemplazar a América / Anchorage con tu zona horaria.