Требования к фиксации в Symfony2
Я сделал установку Symfony2 на своей машине.
Когда я проверяю требования в своем локальном url:
localhost/Symfony2/web/config.php
В нем говорится:
ОСНОВНЫЕ ПРОБЛЕМЫ
Задайте настройку "date.timezone" в php.ini * (например, в Европе/Париже).
Рекомендации
Установите short_open_tag в php.ini *.
Установите magic_quotes_gpc для включения в php.ini *.
- Изменения в файле php.ini должны выполняться в "/etc/php5/apache2/php.ini".
Я внес необходимые изменения как в /etc/php5/apache2/php.ini
, так и в /etc/php5/cli/php.ini
:
date.timezone = "Европа/Мадрид"
short_open_tag = Выкл.
magic_quotes_gpc = Выкл.
Оба short_open_tag
и magic_quotes_gpc
, где уже установлено значение "Выкл.", когда я проверял файлы php.ini.
После этого я перезапустил apache2:
sudo service apache2 restart
Однако я все равно получаю те же сообщения об ошибках.
Я использую Symfony 2.1.2, Ubuntu 12.04 и PHP 5.3.6
ОБНОВЛЕНИЕ:
Если я запустил phpinfo() из браузера, он сообщает загруженный файл конфигурации, в котором он находится:
/etc/php5/apache2/php.ini
Если я запустил php -i | grep php.ini
, он сообщает загруженный файл конфигурации, в котором он находится:
/etc/php5/cli/php.ini
Это два файла, в которых я уже внес изменения.
Я убедился, что изменения были сохранены в файле. Я также использовал phpinfo() в php файле и выполнил его в браузере. В нем указано, что значения для date.timezone не установлены, а magic_quotes_gc и short_open_tag установлены в On.
Если я выполняю php app/check.php
, требования будут разрешены, поэтому я полагаю, что /etc/php5/cli/php.ini
он работает правильно, и существует только проблема с /etc/php5/apache2/php.ini
, которая работает с браузером.
Ответы
Ответ 1
Изменения, которые вы внесли, должны исправить вашу проблему, если все сделано правильно; дважды проверьте это. Убедитесь, что изменения фактически сохранены. Много раз, когда я редактировал файлы php.ini в Ubuntu, я забыл запустить редактор с правильными правами (root) и пропустить предупреждение о невозможности сохранения файла. Кроме того, проверьте изменения, вызвав phpinfo() из script.
Получаете ли вы тот же результат при запуске скрипта, находящегося в app/check.php, из терминала. Из корня проекта:
php app/check.php
Если все еще есть проблема, все, что я могу предложить, это очистить кеш; с symfony2 многие проблемы решаются именно так.
Ответ 2
Обязательно удалите комментарий в виде двоеточия с начала строки также из /etc/php 5/cli/php.ini
От:
;date.timezone = "America/Vancouver"
To:
date.timezone = "America/Vancouver"
Ответ 3
Мне тоже пришлось установить переменную date.timezone в ответ на то же сообщение об ошибке.
Сообщение об ошибке было окончательно разрешено, очистив кеш, как показано ниже:
php app/console cache:clear
Ответ 4
Вы редактируете правильный INI файл?
Я редактирую файл /etc/php 5/cli/php.ini и разрешаю проблему для меня