Требования к исправлению в Symfony2
Я установил Symfony2 на свою машину.
Когда я проверяю требования в своем локальном URL-адресе:
localhost/Symfony2/web/config.php
Там написано:
ОСНОВНЫЕ ПРОБЛЕМЫ
Установите параметр "дата.часовой пояс" в php.ini* (например, Европа/Париж).
РЕКОМЕНДАЦИИ
Установите значение short_open_tag в значение off в php.ini*.
Установите для magic_quotes_gpc значение off в php.ini*.
- Изменения в файле php.ini должны быть сделаны в "/etc/php5/apache2/php.ini".
Я внес необходимые изменения как в /etc/php5/apache2/php.ini
, так и в /etc/php5/cli/php.ini
:
Дата.часовой пояс= "Европа/Мадрид"
Short_open_tag = Выключен
Magic_quotes_gpc = Выключено
Как short_open_tag
, так и magic_quotes_gpc
, где уже установлено значение Off, когда я проверял файлы 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 установлено значение Вкл.
Если я выполню php app/check.php
, требования будут выполнены, поэтому я полагаю, что /etc/php5/cli/php.ini
он работает правильно, и есть только проблема с /etc/php5/apache2/php.ini
, которая работает с браузером.
4 answers
Внесенные вами изменения должны устранить вашу проблему, если все сделано правильно; дважды проверьте это. Убедитесь, что изменения действительно сохраняются. Много раз, когда я редактирую файлы php.ini в Ubuntu, я забываю запустить редактор с нужными разрешениями (root) и пропускаю предупреждение о том, что файл не удалось сохранить. Кроме того, проверьте изменения, вызвав phpinfo() из скрипта.
Получаете ли вы тот же результат при запуске скрипта, расположенного в app/check.php из терминала. Из проекта корень:
php app/check.php
Если все еще возникают проблемы, все, что я могу предложить, это очистить кэш; с symfony2 таким образом решается множество проблем.
Обязательно удалите точку с запятой комментария из начала строки также из /etc/php5/cli/php.ini
От:
;date.timezone = "America/Vancouver"
Кому:
date.timezone = "America/Vancouver"
Мне тоже пришлось установить переменную date.timezone в ответ на то же сообщение об ошибке. Сообщение об ошибке было окончательно устранено путем очистки кэша, как показано ниже, выполнив:
php app/console cache:clear
Вы правильно редактируете ini-файл? Я редактирую /etc/php5/cli/php.ini, и это решает проблему для меня