Symfony 3.0 迁移 PHP 5.5 到 PHP 7.1:"A PHP accelerator should be installed > Install and/or enable a PHP accelerator (highly recommended)"?
Symfony 3.0 migration PHP 5.5 to PHP 7.1 : "A PHP accelerator should be installed > Install and/or enable a PHP accelerator (highly recommended)"?
我想在 SYMFONY 3.0 项目中将 PHP5.5 升级到 7.1。
我一直在检查 "php.ini" 文件以获得正确的结果。
最后一件事没有解决:
在PHP5.5下,我使用了扩展加速器php_apcu.dll。这在 PHP7.
中没有维护
我正在寻找替代方案,我读到 here PHP7 不再需要加速器,因为它已经嵌入其中。
当我执行 CLI 时:"php bin/symfony_requirements",出现以下消息:
A PHP accelerator should be installed > Install and/or enable a PHP > accelerator (highly recommended)
据我所知,我不需要添加新的扩展,但我可以 启用 以某种方式 PHP7.
中的加速器
有人知道 "accelerator" 参数是否需要在 PHP7 中设置为 "true",或者默认设置为 运行(并且应该忽略 Symfony 错误消息),或者应该安装新的扩展(different from the deprecated APC as the wiki page explains)?
更新:
根据收到的关于我在 "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",我仍然收到以下消息:
A PHP accelerator should be installed > Install and/or enable a PHP > accelerator (highly recommended)
有关@LBA 所需信息的更新:
我在我的 Symfony 项目的文件夹中做了一个 CLI "composer update"。
然后当我执行 CLI 时:"php bin/symfony_requirements",我得到:
PHP Notice: A non well formed numeric value encountered in
D:\Application\Apache24\htdocs\symf\my_symf_project\var\SymfonyRequirements.php
on line 759
Notice: A non well formed numeric value encountered in
D:\Application\Apache24\htdocs\symf\my_symf_project\var\SymfonyRequirements.php
on line 759
Symfony2 Requirements Checker ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PHP is using the following php.ini file: D:\Application\php7\php.ini
Checking Symfony requirements: ................W...............W.......
[确定] 您的系统已准备好 运行 Symfony2 项目
改进设置的可选建议
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
需求文件应该是最新的
Your requirements file is outdated. Run composer install and
re-check your configuration.
一个PHP应该安装加速器
Install and/or enable a PHP accelerator (highly recommended).
注意命令控制台可以使用不同的php.ini文件~~~~
比你的网络服务器使用的那个。要在
安全起见,请检查您网站上的要求
使用 web/config.php 脚本的服务器。
关于环境的设置(on Windows10):
- 之前,我更改了我的 "path" 环境变量“[文件夹位置
php7]\php7\" 当我启动 "php -v" 时,我得到:
PHP 7.1.1 (cli) (built: Jan 18 2017 18:38:49) ( ZTS MSVC14 (Visual C++
2015) x64 ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.1.0,
Copyright (c) 1998-2017 Zend Technologies
symfony 项目中的 composer 文件如下所示:
"require": {
"php": ">=5.5.9",
...}
如果我尝试将值更改为 "php":">=7.1.0" 并启动 "composer update",它会给出:
Loading composer repositories with package information Updating
dependencies (including require-dev) Your requirements could not be
resolved to an installable set of packages.
Problem 1
- This package requires php >=7.1.0 but your PHP version (5.5.9) does not satisfy that requirement.
所以我的 Symfony 环境变量有问题。
如果我这样做 phpinfo()
,不是在 Symfony 中,而是在常规 PHP 服务器页面中,它会在顶部声明:PHP 版本 7.1.1
这是解决方案,我需要做两件事:
1st:确实需要opcache.
在php.ini中,而且比symfony documentation and php manual中指示的设置还要多。我忘记添加要在 php.ini:
中使用的扩展名
zend_extension="[你通往 php7]\php7\ext\php_opcache.dll 的路径"
(嗯,它在 php manual documentation here)
2nd:在 symfony 方面,我必须更新 [project path]\composer.json 中的以下设置以确保 Symfony 使用 PHP7:
{
"require": {
"php": ">=7.1.1",
....
},
....
"config": {
"platform": {
"php": "7.1.1"
}
},
}
我想在 SYMFONY 3.0 项目中将 PHP5.5 升级到 7.1。
我一直在检查 "php.ini" 文件以获得正确的结果。
最后一件事没有解决: 在PHP5.5下,我使用了扩展加速器php_apcu.dll。这在 PHP7.
中没有维护我正在寻找替代方案,我读到 here PHP7 不再需要加速器,因为它已经嵌入其中。
当我执行 CLI 时:"php bin/symfony_requirements",出现以下消息:
A PHP accelerator should be installed > Install and/or enable a PHP > accelerator (highly recommended)
据我所知,我不需要添加新的扩展,但我可以 启用 以某种方式 PHP7.
中的加速器有人知道 "accelerator" 参数是否需要在 PHP7 中设置为 "true",或者默认设置为 运行(并且应该忽略 Symfony 错误消息),或者应该安装新的扩展(different from the deprecated APC as the wiki page explains)?
更新: 根据收到的关于我在 "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",我仍然收到以下消息:
A PHP accelerator should be installed > Install and/or enable a PHP > accelerator (highly recommended)
有关@LBA 所需信息的更新: 我在我的 Symfony 项目的文件夹中做了一个 CLI "composer update"。
然后当我执行 CLI 时:"php bin/symfony_requirements",我得到:
PHP Notice: A non well formed numeric value encountered in D:\Application\Apache24\htdocs\symf\my_symf_project\var\SymfonyRequirements.php on line 759
Notice: A non well formed numeric value encountered in D:\Application\Apache24\htdocs\symf\my_symf_project\var\SymfonyRequirements.php on line 759
Symfony2 Requirements Checker ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PHP is using the following php.ini file: D:\Application\php7\php.ini
Checking Symfony requirements: ................W...............W.......
[确定] 您的系统已准备好 运行 Symfony2 项目
改进设置的可选建议 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
需求文件应该是最新的
Your requirements file is outdated. Run composer install and re-check your configuration.
一个PHP应该安装加速器
Install and/or enable a PHP accelerator (highly recommended).
注意命令控制台可以使用不同的php.ini文件~~~~ 比你的网络服务器使用的那个。要在 安全起见,请检查您网站上的要求 使用 web/config.php 脚本的服务器。
关于环境的设置(on Windows10):
- 之前,我更改了我的 "path" 环境变量“[文件夹位置 php7]\php7\" 当我启动 "php -v" 时,我得到:
PHP 7.1.1 (cli) (built: Jan 18 2017 18:38:49) ( ZTS MSVC14 (Visual C++ 2015) x64 ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
symfony 项目中的 composer 文件如下所示:
"require": {
"php": ">=5.5.9",
...}
如果我尝试将值更改为 "php":">=7.1.0" 并启动 "composer update",它会给出:
Loading composer repositories with package information Updating dependencies (including require-dev) Your requirements could not be resolved to an installable set of packages.
Problem 1 - This package requires php >=7.1.0 but your PHP version (5.5.9) does not satisfy that requirement.
所以我的 Symfony 环境变量有问题。
如果我这样做 phpinfo()
,不是在 Symfony 中,而是在常规 PHP 服务器页面中,它会在顶部声明:PHP 版本 7.1.1
这是解决方案,我需要做两件事:
1st:确实需要opcache.
在php.ini中,而且比symfony documentation and php manual中指示的设置还要多。我忘记添加要在 php.ini:
中使用的扩展名zend_extension="[你通往 php7]\php7\ext\php_opcache.dll 的路径"
(嗯,它在 php manual documentation here)
2nd:在 symfony 方面,我必须更新 [project path]\composer.json 中的以下设置以确保 Symfony 使用 PHP7:
{
"require": {
"php": ">=7.1.1",
....
},
....
"config": {
"platform": {
"php": "7.1.1"
}
},
}