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):

  1. Ранее для чего-либо я изменил переменную среды "путь" на "[расположение папки 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

Author: nyluje, 2017-01-24

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"
        }
    },
}
 3
Author: nyluje, 2017-01-26 09:31:10