Я хочу обновить PHP5.5 до 7.1 в проекте SYMFONY 3.0.
Я проверял файл «php.ini», чтобы получить правильный результат.
Одна последняя вещь не решена:
Под PHP5.5 я использовал ускоритель расширения php_apcu.dll. Это не поддерживается в PHP7.
Я искал альтернативу, и я прочитал Вот что ускоритель больше не нужен в PHP7, потому что уже встроен в него.
Когда я делаю CLI: «php bin / symfony_requirements», появляется следующее сообщение:
Ускоритель PHP должен быть установлен> Установить и / или включить PHP> ускоритель (настоятельно рекомендуется)
Насколько я понимаю, мне не нужно добавлять новое расширение, но я могу включить каким-то образом ускоритель в PHP7.
Кто-то знает, должен ли параметр «accelerator» быть установлен в «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 \ вар \ SymfonyRequirements.php
по линии 759Примечание: неправильно сформированное числовое значение, встречающееся в
D: \ Application \ Apache24 \ HTDOCS \ symf \ my_symf_project \ вар \ SymfonyRequirements.php
по линии 759Проверка требований Symfony2 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[OK] Ваша система готова к запуску проектов Symfony2PHP использует следующий файл php.ini: D: \ Application \ php7 \ php.ini
Проверка требований Symfony: ……………. W …………… W …….
Дополнительные рекомендации для улучшения вашей настройки
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Файл требований должен быть актуальным
Ваш файл требований устарел. Запустите composer и установите
перепроверьте свою конфигурацию.должен быть установлен ускоритель PHP
Установите и / или включите ускоритель PHP (настоятельно рекомендуется).
Примечание. Командная консоль может использовать другой файл php.ini ~~~~
чем тот, который используется с вашим веб-сервером. Быть на
безопасная сторона, пожалуйста, проверьте требования с вашего веб-сайта
сервер с помощью скрипта web / config.php.
О настройке среды (в Windows10):
PHP 7.1.1 (cli) (сборка: 18 января 2017 г., 18:38:49) (ZTS MSVC14 (Visual C ++)
2015) x64) Copyright (c) 1997-2017 PHP Group Zend Engine v3.1.0,
Copyright (c) 1998-2017 Zend Technologies
Файл composer в проекте symfony выглядит так:
"require": {
"php": ">=5.5.9",
...}
И если я попытаюсь изменить значение на «php»: «> = 7.1.0» и запустить «обновление композитора», это даст:
Загрузка репозиториев композитора с информацией о пакете Обновление
зависимости (включая require-dev) Ваши требования не могут быть
разрешен к устанавливаемому набору пакетов.Проблема 1
— Этот пакет требует php> = 7.1.0, но ваша версия PHP (5.5.9) не удовлетворяет этому требованию.
Так что с моей переменной окружения с Symfony что-то не так.
Если я сделаю phpinfo()
Не в Symfony, а с обычной страницей PHP-сервера, она указана сверху: Версия PHP 7.1.1
Вот решение, 2 вещи, которые мне нужно было сделать:
первый: Это действительно нужно opcache.
в php.ini, кроме того, что настройки, которые проинструктированы сделать в документация Symfony а также Руководство по PHP. Я забыл добавить расширение для использования в php.ini:
zend_extension = «[ваш путь к php7] \ php7 \ ext \ php_opcache.dll»
(ну это в php ручная документация здесь)
второй: На стороне Symfony мне пришлось обновить следующие параметры в [путь к проекту] \ composer.json, чтобы Symfony использовал PHP7:
{
"require": {
"php": ">=7.1.1",
....
},
....
"config": {
"platform": {
"php": "7.1.1"}
},
}
Других решений пока нет …