на сервере у меня есть 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 () решило его для меня.