Часовой пояс и больше проблем с Cakephp 1.3 и PHP 5.3.2

на сервере у меня есть php 5.3.2 и cakephp 1.3.

когда я запускаю приложение cakephp, он дает мне следующие ошибки:

Предупреждение (2): strtotime () [ http://php.net/function.strtotime] : Нельзя полагаться на настройки часового пояса системы. Вы должны использовать параметр date.timezone или функцию date_default_timezone_set (). Если вы использовали какой-либо из этих методов, и вы все еще получаете это предупреждение, скорее всего, вы ошиблись с идентификатором часового пояса. Вместо этого мы выбрали «Европа / Берлин» для «CEST / 2.0 / DST» [ROOT / cakephp / cake / libs / cache.php, строка 570]

Кроме того, я получаю еще несколько ошибок:

Обратите внимание: попытка получить свойство не-объекта в /htdocs/cakephp/cake/libs/cache/file.php в строке 248 Неустранимая ошибка: вызов функции-члена cd () для не-объекта в / htdocs / cakephp / cake / libs / cache / file.php в строке 248

Часовой пояс в php.ini определяется как Европа / Лондон

Я всегда получаю эту ошибку, несмотря на то, что я определяю date_default_timezone_set('UTC') , или Европа / Лондон, или что-то еще …

действительно разочарование ……… пожалуйста, помогите …

UPDATE: что-то не так с моей установкой php … если я запускаю

 <?php echo date('Y'); ?> 

… это дает мне пустой экран. безрезультатно…

может быть, проблема?

Чтобы обработать первое предупреждение, вам необходимо раскомментировать строку date_default_timezone_set('UTC'); в /app/config/core.php. Вы можете заменить UTC своим часовым поясом, как предложил Лео.

Как сказал Лео Саид, проблема с PHP 5.3. Лучшим решением является изменение вашего веб-сервера php.ini и установка

 [Date] ; Defines the default timezone used by the date functions ; http://php.net/date.timezone date.timezone = "Europe/Rome" 

Или если вы не можете изменить веб-сервер php.ini, вы можете добавить эти параметры в файл .htaccess root на своем сайте:

 php_flag date.timezone = "Europe/Rome" 

У меня была такая же проблема, и Гуглинг привел меня на этот пост.

Я исправил проблему, добавив строку date_default_timezone_set("America/Anchorage"); в начало [каталог базы торта] /libs/cache.php

Вероятно, вы захотите заменить Америку / Анкоридж своим часовым поясом.

У меня была эта ошибка некоторое время со времени проведения хостинга. обновлен до 5.3

В строке /app/config/config.php, вокруг строки 244, есть примечание о том, чтобы не комментировать следующую строку при запуске на 5.3

Я просто изменил следующую строку:

 date_default_timezone_set('America/Toronto'); // your favourite time-zone here - and don't get me started about why Toronto is US city (joking) 

Вы можете поместить эту строку в bootstrap.php, но вы можете получить эту ошибку, сначала загружается config.php

Я столкнулся с этим при использовании cakeshell для запуска сценариев cron командной строки. После долгих хлопот я понял, что помимо решения bancer выше мне нужно было импортировать core.php в мои скрипты php shell как таковые:

 function main() { App::import('Controller', 'Core'); //run controllers and actions that cause error here } 

Добавление 'Core' в App :: import () решило его для меня.