我正在尝试将 Digital Ocean 服务器上的 PHP 版本从 5.6.19 升级到最新的 PHP 7.2。网上找到的很多说明都指向“php72”,这让我怀疑 5.6.19 是否会被无缝替换yum update php
。我对此表示怀疑。
这意味着我可能必须先升级到 5.6.19,在这种情况下,我冒着完全删除旧设置的风险。如果新设置不顺利,那就太可怕了,没有多少可以回滚的。
我发现这些地方有重要的设置:
/etc/php-fpm.d/www.conf
/etc/php.ini
/etc/php-fpm.conf
/etc/nginx/common.conf
/etc/nginx/fastcgi.conf
当然,Nginx.conf(主 Ngnix 配置文件)也相应地调用了 PHP-FPM。它们包括上面的 #4 文件 common.conf,而后者又包括 fastcgi.conf。
外部网站上的说明,例如这个-- https://www.cyberciti.biz/faq/how-to-install-php-7-2-on-centos-7-rhel-7/ --不考虑 Nginx 和 PHP-FPM 的具体细节,尤其是已经存在的旧版 PHP 5.6.19。
所有这些说明无论如何都提到了“php72”,我担心这会改变所有路径,我必须将所有路径更新为新的 php 链接。
您能否建议如何最好地做到这一点,以便我无缝地将旧 PHP 升级到最新版本,并且所有上述常用路径都可以正常工作?否则我们需要:
- 删除 5.6.19
- 安装 7.2 和所有附加模块(将在路径中引入“php72”)
- 确保所有地方的所有路径都是新的。
有没有办法以操作系统默认的方式使这个变得更简单,而不需要像“Remi”等额外的存储库?
答案1
Remi Collet 在评论中回答了这个问题,所以没有答案可以接受。我在这里添加它,以便任何需要同样帮助的人都能更轻松地看到它:
为方便后人,请在此处保存 Stack Exchange:
- 更新前使用 YUM删除
php56w-mcrypt
模块(目前该模块使用得不多) - 然后运行Remi 网站上的向导
- 运行
yum update --noplugins
(dash dash noplugins 选项是安全的) - 检查是否有任何 nginx conf 文件具有以 开头的旧式注释
#
。如果有,请将其替换为必须以 开头的新严格注释;
- 重新启动 nginx(我必须手动终止所有正在运行的 nginx 进程)
希望这对某人有帮助。讨论正在Remi 的论坛。
谢谢。