Подтвердить что ты не робот

Date_default_timezone_get(): Нельзя полагаться на настройки системного часового пояса

Может ли кто-нибудь сказать мне, почему я получаю эту ошибку при запуске приложения/консоли в совершенно новом отформатированном macbook с последним установленным MAMP?

Предупреждение: date_default_timezone_get(): Нельзя полагаться на настройки системного часового пояса. Вы * обязательны для использования параметра date.timezone или функции date_default_timezone_set(). Если вы использовали какой-либо из этих методов, и вы все еще получаете это предупреждение, скорее всего, вы ошиблись с идентификатором часового пояса. Мы выбрали "Европа/Хельсинки" для "EEST/3.0/DST" вместо этого в строке /../Logger.php 112

Я проверил путь php.ini и выделил date.timezone = "Europe/Athens"

Также повторно запущен MAMP/apache несколько раз.

4b9b3361

Ответ 2

В AppKernel.php напишите:

public function init() {
    date_default_timezone_set( 'Europe/Lisbon' );
    parent::init();
}

Так как init() устарел (и будет удален в Symfony2 3.0), рекомендуется переместить код в конструкторе, как показано в следующем примере:

public function __construct($environment, $debug) {
    parent::__construct($environment, $debug);
    // get rid of Warning: date_default_timezone_get(): It is not safe to rely on the system timezone
    date_default_timezone_set( 'Europe/Paris' );
}

Ответ 3

Вы не отредактируете хороший файл php.ini

Вы можете получить полный phpinfo(), используя:

php -i 

И, там, используется файл php.ini:

$ php -i | grep 'Configuration File'
Configuration File (php.ini) Path => /etc
Loaded Configuration File => /etc/php.ini

Ответ 4

У меня была та же проблема, и это правда, что в Yosemite есть командная строка и служба MAMP/Native Mac PHP, и пока я пытался следовать указаниям на этой странице, они не работали для меня.

Когда я запустил команду php:

$ php -i | grep 'Configuration File'<br>
Configuration File (php.ini) Path => /etc<br>
Loaded Configuration File => <em>(Blank)</em>

Я понял, что php.ini, который использовал CLI, был фактически файлом php.ini.default. Я создал символическую ссылку на этот файл как php.ini, и все сработало.

My-MacPro:/etc/$ln -s php.ini.default php.ini

Ответ 5

Я выполнил ваши ответы, но в моем случае никто из них не работал. Я решил пойти изменить date_default_timezone_get()  в файле logger.php.

Я заменил настройку часового пояса ( "Европа/Берлин" ), и все прошло хорошо!

Старое школьное решение, но все-таки решение.

Ответ 6

Ваш php.in по умолчанию в Mac OSX находится в /etc/php.ini, который точно совпадает с файлом /private/etc/php.ini.

Вы должны знать, что у вас есть возможность использования двух версий PHP, работающих параллельно. У меня была эта проблема, потому что я использовал собственный mac osx php, однако мне пришлось установить пакет php через homebrew, после чего я получил другую версию php через homebrew. хотя в моем php.ini файле в /etc/php.ini был настроен часовой пояс в /etc/php.ini, у меня все еще была такая же проблема, поэтому я запускаю:

php -i | grep 'Configuration File'

чтобы настроить правильный файл, поэтому я получил:

Configuration File (php.ini) Path => /usr/local/etc/php/5.3
Loaded Configuration File => /usr/local/etc/php/5.3/php.ini
PHP Warning:  Unknown: It is not safe to rely on the system 
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 getting this warning,
you most likely misspelled the timezone identifier. We selected 
'America/Buenos_Aires' for 'ART/-3.0/no DST' instead in Unknown on line 0

Тогда я знал, что мне нужно отредактировать файл /usr/local/etc/php/5.3/php.ini.

После этого все прошло правильно. У меня больше не было этой проблемы.

Надеюсь, это поможет вам решить это.

Ответ 7

У меня была такая же проблема с моей установкой SF2.

Чтобы исправить это, просто зайдите в свой php.ini файл в /etc/php.ini и измените свой файл так, чтобы он выглядел следующим образом (отрегулируйте часовой пояс в соответствии с местным часовым поясом):

;;;;;;;;;;;;;;;;;;; ; Module Settings ; ;;;;;;;;;;;;;;;;;;;

[Date] 
; Defines the default timezone used by the date functions 
; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone 
date.timezone = Europe/London

Ответ 8

Обычно для CLI и Apache существуют отдельные файлы php.ini. Убедитесь, что вы отредактировали необходимый файл.

Ответ 9

По умолчанию Mac использует в консоли PHP, расположенный по адресу:

/private/etc/php.ini

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

Ответ 10

У меня была аналогичная проблема на OS X 10.9. В моем случае проблема заключалась в отсутствии файла php.ini в /etc. Я решил проблему, создав этот php.ini файл с содержимым:

date.timezone = Europe/Athens