我想在一个SYMFONY 3.0项目中将PHP5.5升级到7.1。
我一直在检查“php.ini”文件以获得正确的结果。
最后一个问题没有解决: 在PHP5.5下,我使用扩展加速器php_apcu.dll。这在PHP7中不再维护。
我正在寻找替代方案,我在这里读到了加速器在PHP7中不再需要,因为已经内置在其中。
当我执行CLI:“php bin/symfony_requirements”时,会出现以下消息:
应安装PHP加速器 > 安装和/或启用PHP > 加速器(强烈建议)
据我所知,我不需要添加新的扩展,但我可以在PHP7中启用加速器。
是否有人知道在PHP7中是否需要设置“accelerator”参数为“true”,或者它是否默认运行(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”时,我仍然收到以下信息:
关于@LBA所需信息的更新:我在Symfony项目文件夹中执行了CLI命令“composer update”。然后当我再次执行CLI命令“php bin/symfony_requirements”时,我得到以下结果:应安装PHP加速器 > 安装和/或启用PHP加速器(强烈推荐)
关于环境设置(在Windows10上):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要求:................W...............W.......
[OK]您的系统已准备好运行Symfony2项目
改善设置的可选建议 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
要求文件应该是最新的
您的要求文件已过时。运行composer install并重新检查您的配置。
应安装PHP加速器
安装和/或启用PHP加速器(强烈推荐)。
注意:命令控制台可能使用不同的php.ini文件~~~ 您的Web服务器所使用的。为了保险起见,请使用web / config.php脚本从您的Web服务器 检查要求。
- 首先,我更改了我的“路径”环境变量,设为“[php7的文件夹位置]\php7\”,当我运行“php -v”时,我得到:
Symfony项目中的composer文件如下:PHP 7.1.1(cli)(构建于:Jan 18 2017 18:38:49)(ZTS MSVC14(Visual C++ 2015)x64)版权所有(c)1997-2017 PHP组Zend Engine v3.1.0, 版权所有(c)1998-2017 Zend Technologies
"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环境变量存在问题。
如果我在普通的PHP服务器页面上执行
phpinfo()
,而不是在Symfony中,它会在顶部显示PHP版本7.1.1。