Требования к фиксации в 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 и разрешаю проблему для меня