【发布时间】:2017-06-09 01:26:16
【问题描述】:
我想在一个 SYMFONY 3.0 项目中将 PHP5.5 升级到 7.1。
我一直在检查“php.ini”文件以获得正确的结果。
最后一件事没有解决: 在PHP5.5下,我使用了扩展加速器php_apcu.dll。这在 PHP7 中没有维护。
我正在寻找替代方案,我读到 here 说 PHP7 中不再需要加速器,因为它已经嵌入其中。
当我执行 CLI:“php bin/symfony_requirements”时,会出现以下消息:
应安装 PHP 加速器 > 安装和/或启用 PHP > 加速器(强烈推荐)
据我了解,我不需要添加新的扩展,但我可以在 PHP7 中以某种方式启用加速器。
有人知道 PHP7 中是否需要将“加速器”参数设置为“true”,还是默认运行(Symfony 错误消息应该被忽略),或者新的扩展(different from the deprecated APC as the wiki page explains ) 应该安装吗?
更新: 在收到关于我在“php.ini”中添加以下设置的问题的 cmets 之后:
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 所需信息的更新: 我在 Symfony 项目的文件夹中做了一个 CLI “composer update”。
然后当我执行 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 要求:................W................W.......
[OK] 您的系统已准备好运行 Symfony2 项目
改进设置的可选建议 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
需求文件应该是最新的
您的需求文件已过时。运行作曲家安装和 重新检查您的配置。
应该安装 PHP 加速器
安装和/或启用 PHP 加速器(强烈推荐)。
注意命令控制台可以使用不同的php.ini文件~~~~ 比与您的网络服务器一起使用的那个。要上 安全方面,请从您的网站检查要求 服务器使用 web/config.php 脚本。
关于环境的设置(Windows10):
- 之前,我已经将“路径”环境变量更改为“[文件夹位置 php7]\php7\",当我启动“php -v”时,我得到:
PHP 7.1.1 (cli)(构建时间:2017 年 1 月 18 日 18:38:49)(ZTS MSVC14(Visual C++ 2015) x64 ) 版权所有 (c) 1997-2017 The PHP Group Zend Engine v3.1.0, 版权所有 (c) 1998-2017 Zend Technologies
symfony 项目中的 composer 文件长这样:
"require": {
"php": ">=5.5.9",
...}
如果我尝试将值更改为 "php":">=7.1.0" 并启动 "composer update" 它会给出:
使用包信息加载作曲家存储库更新 依赖项(包括 require-dev) 您的要求不能 解析为一组可安装的软件包。
问题 1 - 这个包需要 php >=7.1.0 但你的 PHP 版本 (5.5.9) 不满足这个要求。
所以我的 Symfony 环境变量有问题。
如果我使用phpinfo(),而不是在 Symfony 中,而是使用常规 PHP 服务器页面,它会在顶部显示:PHP 版本 7.1.1
【问题讨论】:
-
关于加速器的警告通常应用于缓存引擎。您可以忽略它或安装 APC 之类的东西。
-
您确定在您的 php.ini 中启用了 opcache 吗?
-
我阅读了@Veve 链接,并尝试弄清楚应该如何在 php.ini 中使用 php.net/manual 启用 opcache,如果您有关于它的建议(这样可以节省我一些阅读时间并继续直接到我需要的地方)我会接受的。
-
您确定您更新了正确的 php.ini(而不是用于 PHP cli 的那个)?
标签: php symfony php-7 php-5.5 php-7.1