在 CentOS 7 上使用 Nginx 和 php-fpm 将 php 5.6.x 简单升级到 7.x

在 CentOS 7 上使用 Nginx 和 php-fpm 将 php 5.6.x 简单升级到 7.x

我正在尝试将 Digital Ocean 服务器上的 PHP 版本从 5.6.19 升级到最新的 PHP 7.2。网上找到的很多说明都指向“php72”,这让我怀疑 5.6.19 是否会被无缝替换yum update php。我对此表示怀疑。

这意味着我可能必须先升级到 5.6.19,在这种情况下,我冒着完全删除旧设置的风险。如果新设置不顺利,那就太可怕了,没有多少可以回滚的。

我发现这些地方有重要的设置:

  1. /etc/php-fpm.d/www.conf
  2. /etc/php.ini
  3. /etc/php-fpm.conf
  4. /etc/nginx/common.conf
  5. /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 升级到最新版本,并且所有上述常用路径都可以正常工作?否则我们需要:

  1. 删除 5.6.19
  2. 安装 7.2 和所有附加模块(将在路径中引入“php72”)
  3. 确保所有地方的所有路径都是新的。

有没有办法以操作系统默认的方式使这个变得更简单,而不需要像“Remi”等额外的存储库?

答案1

Remi Collet 在评论中回答了这个问题,所以没有答案可以接受。我在这里添加它,以便任何需要同样帮助的人都能更轻松地看到它:

为方便后人,请在此处保存 Stack Exchange:

  1. 更新前使用 YUM删除php56w-mcrypt模块(目前该模块使用得不多)
  2. 然后运行Remi 网站上的向导
  3. 运行yum update --noplugins(dash dash noplugins 选项是安全的)
  4. 检查是否有任何 nginx conf 文件具有以 开头的旧式注释#。如果有,请将其替换为必须以 开头的新严格注释;
  5. 重新启动 nginx(我必须手动终止所有正在运行的 nginx 进程)

希望这对某人有帮助。讨论正在Remi 的论坛

谢谢。

相关内容