Symfony 3.0 перенос PHP 5.5 на PHP 7.1: "Должен быть установлен ускоритель PHP> Установить и/или включить ускоритель PHP (настоятельно рекомендуется)"?
Я хочу обновить PHP5.5 до 7.1 в проекте SYMFONY 3.0.
Я проверял файл "php.ini", чтобы получить правильный результат.
Еще одна нерешенная проблема: В соответствии с PHP5.5 я использовал ускоритель расширения php_apcu.dll . Это не поддерживается в PHP7.
Я искал альтернативу и прочитал здесь, что ускоритель больше не нужен в PHP7, потому что он уже встроен в него.
Когда я делаю CLI: "php bin/symfony_requirements", появится следующее сообщение:
Необходимо установить ускоритель PHP> Установить и/или включить ускоритель PHP> (настоятельно рекомендуется)
Насколько я понимаю, мне не нужно добавлять новое расширение, но я могу включить каким-то образом ускоритель в PHP7.
Знает ли кто-нибудь, нужно ли установить параметр "ускоритель" в значение "true" в PHP7, или он запускается по умолчанию (и сообщение об ошибке Symfony следует игнорировать), или новый расширение (, отличное от устаревшего APC, как объясняется на странице вики), должно быть установлено?
ОБНОВЛЕНИЯ: После комментариев, полученных по этому вопросу, я добавил в свой "php.ini" следующую настройку:
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=2000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
Я перезапустил службу Apache, и когда я выполняю CLI: "php bin/symfony_requirements", я все равно получаю следующее сообщение:
Должен быть установлен ускоритель PHP> Установить и/или включить PHP> ускоритель (очень рекомендуется)
Обновления, касающиеся необходимой информации @LBA: Я сделал CLI "обновление композитора" в папке моего проекта Symfony.
Затем, когда я делаю CLI: "php bin/symfony_requirements", я получаю:
Примечание PHP: Неверно сформированное числовое значение, встречающееся в D:\Application\Apache24\htdocs\symf\my_symf_project\var\SymfonyRequirements.php в строке 759
Примечание: Неправильно сформированное числовое значение, встречающееся в D:\Application\Apache24\htdocs\symf\my_symf_project\var\SymfonyRequirements.php в строке 759
Проверка требований Symfony2 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PHP использует следующий файл php.ini: D:\Application\php7\php.ini
Проверка требований к Symfony: ................Ж............... У.......
[ОК] Ваша система готова к запуску проектов Symfony2
Дополнительные рекомендации по улучшению настройки ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Файл требований должен быть обновленным
Ваш файл требований устарел. Запустите установку composer и перепроверьте конфигурацию.
Должен быть установлен ускоритель PHP
Установите и/или включите ускоритель PHP (настоятельно рекомендуется).
Примечание. В командной консоли может использоваться другой файл php.ini ~~~~ чем тот, который используется с вашим веб-сервером. Чтобы быть в безопасности, пожалуйста, ознакомьтесь с требованиями на вашем веб-сайте сервер, использующий web/config.php сценарий.
О настройке среды (в Windows10):
- Ранее для чего-либо я изменил переменную среды "путь" на "[расположение папки php7]\php7\", и когда я запускаю "php-v", я получаю:
PHP 7.1.1 (cli) (построен: 18 января 2017 18:38:49) (ZTS MSVC14 (Визуальный C++ 2015) x64) Авторское право (c) 1997-2017 PHP Группа Zend Engine v3.1.0, Авторское право (c) 1998-2017 Zend Technologies
Файл композитора в проекте symfony выглядит так:
"require": {
"php": ">=5.5.9",
...}
И если я попытаюсь изменить значение на "php": ">=7.1.0" и запустить "обновление композитора", это даст:
Загрузка репозиториев composer с зависимостями обновления информации о пакетах (включая require-dev) Ваши требования не могут быть решены до устанавливаемого набор упаковок.
Проблема 1 - Для этого пакета требуется php>=7.1.0, но ваша версия PHP (5.5.9) не удовлетворяет этому требованию.
Итак, что-то не так с моей переменной окружения в Symfony.
Если я сделаю phpinfo()
, не в Symfony, а на обычной странице PHP-сервера, сверху будет указано: Версия PHP 7.1.1
1 answers
Вот решение, 2 вещи, которые мне нужно было сделать:
1-й: Ему действительно нужен кэш-память.
В php.ini, кроме того, настройки, которые предписаны в документации symfony и руководстве по php. Я забыл добавить расширение для использования в php.ini:
Zend_extension="[ваш путь к php7]\php7\ext\php_opcache.dll"
(ну, это есть в документации по руководству php здесь)
2-й: На стороне symfony мне пришлось обновить следующие настройки в [путь к проекту]\composer.json, чтобы убедиться, что Symfony использует PHP7:
{
"require": {
"php": ">=7.1.1",
....
},
....
"config": {
"platform": {
"php": "7.1.1"
}
},
}