Strtotime ошибка в Cake 1.2.6 - PullRequest
       8

Strtotime ошибка в Cake 1.2.6

0 голосов
/ 17 февраля 2010
PHP Warning:  strtotime(): 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 ge
tting this warning, you most likely misspelled the timezone identifier. We selected 'America/Los_Angeles' for '-8.0/no D
ST' instead in C:\xampp\htdocs\cake_1_2\cake\libs\cache.php on line 429

Я получаю это только когда пытаюсь использовать bake в новом приложении cakephp 1.2.6. Если я запускаю bake в папке приложения по умолчанию (той, которая входит в сборку торта), она делает это. Если я запускаю bake из моего старого проекта 1.2.5 (cake_1_2 / myapp), он работает нормально.

Кто-нибудь еще имеет эту проблему с проектами CakePHP 1.2.6?

Это не проблема PHP, потому что тогда это будет соответствовать любым функциям времени, которые я пробовал.

Ответы [ 3 ]

3 голосов
/ 18 февраля 2010

Ну, это это проблема PHP.См. Описание date_default_timezone_set:

Примечание: Начиная с PHP 5.1.0 (когда функции даты / времени были переписаны), каждый вызов функции даты / времени будет генерироватьсяE_NOTICE, если часовой пояс недействителен, и / или сообщение E_WARNING, если используются системные настройки или переменная окружения TZ.

и

5.3.0 Теперь выбрасывает E_WARNING, а не E_STRICT.

В качестве предупреждающего сообщения Cake не использует date_default_timezone_set явно установить часовой пояс, который считается ненадежным, отсюда и предупреждение.Это только кажется, что имеет место для приложения CLI.Я не знаю, существует ли регрессия между 1.2.5 и 1.2.6, но 1.3 определенно должен соответствовать стандартам PHP 5.3.

Вы можете легко избавиться от этого предупреждения самостоятельно, просто установивчасовой пояс в скрипте /cake/console/cake.php.

2 голосов
/ 20 сентября 2010

Вместо изменения основных файлов добавьте ваш часовой пояс в ./app/config/core.php

date_default_timezone_set ("America/Los_Angeles");
0 голосов
/ 10 ноября 2012

Я раскомментировал строку 232 в . / App / config / core.php . Я использую версию 2.2.3.

Это строка:

/**
 * Uncomment this line and correct your server timezone to fix 
 * any date & time related errors.
 */
date_default_timezone_set('UTC');
...