Часовой пояс с Symfony 2 - PullRequest
8 голосов
/ 01 июня 2011

У меня есть некоторые проблемы с Symfony 2, пытающимся сгенерировать схему с помощью:

php console/app generate:schema:create

У меня красивая ошибка:

[Exception]                           
DateTime::__construct(): 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 
getting this warning, you most likely misspelled the timezone 
identifier. 

We selected 'Europe/Berlin' for 'CEST/2.0/DST' instead

Таким образом, я пытаюсь изменить часовой пояс в моем php.ini с помощью

date.timezone = 'Europe/Paris'

но даже если я перезагружаю свой apache, я все равно получаю

date.timezone   Europe/Zurich   Europe/Zurich

если я посмотрю на свой phpinfo(), поэтому я не знаю, что мне делать дальше ... И я даже не уверен, что у меня все в порядке.

Спасибо за помощь

Ответы [ 9 ]

17 голосов
/ 26 августа 2011

На Mac, если у вас есть /etc/php.ini.default, выполните

sudo cp /etc/php.ini.default /etc/php.ini 

, а затем

php --ini 

, чтобы увидеть, что теперь он загружает файл php.ini.

2 голосов
/ 24 сентября 2012

это тот трюк

и се /etc/php5/cli/php.ini и /etc/php5/apache2/php.ini

datetime = 'America/Lima' например

и запустить команду

$ sudo apt-get install php5-sqlite 
$ sudo /etc/init.d/apache2 restart
1 голос
/ 18 февраля 2012

Если вы работаете на основе Debian, вы должны изменить параметр в файле /etc/php5/cli/php.ini, изменив его в /etc/php5/apache2/php.ini, безрезультатно.

1 голос
/ 07 сентября 2011

Некоторые сторонние дистрибутивы PHP (включая MAMP) жестко запрограммировали часовой пояс. Например, MAMP 2.0 жестко запрограммирован в Европе / Берлине, и изменить его невозможно. Даже изменение значения в шаблоне php.ini не имеет никакого эффекта, потому что MAMP перезаписывает ваше значение. Используете ли вы PHP из исходного кода, предварительно скомпилированный пакет или PHP как часть какого-то стека LAMP?

0 голосов
/ 12 сентября 2017

Попробуйте выполнить эту команду:

sudo ln -s /usr/local/php5/lib/php.ini /etc/php.ini

Mac в моем случае.Первое - путь к конфигурации, второе - не менять.

0 голосов
/ 01 декабря 2016

Я только что столкнулся с этой проблемой с XAMPP на Mac 10.11.5, PHP 5.6.8

Моя ошибка гласила: «Предупреждение: date_default_timezone_get (): недопустимое значение date.timezone« Америка / Лос-Анджелес »,»

Я исправил это, обнаружив, что единственной проблемой было отсутствие подчеркивания в записи "Лос-Анджелес" для моей настройки date.timezone в PHP.ini.

0 голосов
/ 29 января 2013

Я столкнулся с этой проблемой на моем общем хосте.мне сказали, что я не могу изменить часовой пояс через php.ini, но вместо этого вы можете попробовать файл .htaccess.

создайте .htaccess в папке, где установлен Symfony, и поместите в нее следующий код:

SetEnv TZ America/Sao_Paulo

надеюсь, это поможет.

ура, Лучано

0 голосов
/ 23 ноября 2011

Для Windows я установил XAMPP для веб-сервера, загрузил PHP и установил его, чтобы я мог запускать команды symfony из командной строки.

В этом случае файл php.ini, используемый при выполнении команды Symfony, находится в C:\Program Files(x86)\PHP\php.ini. Для редактирования этого файла у вас должны быть права администратора, поэтому я запустил Notepad ++ в качестве администратора и открыл файл.

Найдите date.timezone и измените его в соответствии с вашим часовым поясом, например, date.timezone = Africa/Nairobi. Часовые пояса перечислены на сайте php, просто выполните поиск php, timezones. Нет необходимости перезагружать компьютер или веб-сервер.

0 голосов
/ 10 ноября 2011

Я знаю, что это старый билет, но так как у меня тоже была проблема с этим, и он все еще открыт, я решил поделиться своим быстрым и грязным решением:

В моем случае,date.default не был установлен вообще, и я не мог изменить php.ini.Итак, в качестве временного промежутка я добавил date_default_timezone_set('Europe/Dublin') в начале web/app.php, чтобы изменить часовой пояс во время выполнения, что мне очень понравилось.

Если вы используете консоль для запуска каких-либо команд, вы, вероятно,также необходимо добавить вызов в начало этого скрипта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...