ppa之后的“问题”:ondrej / php5弃用

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了ppa之后的“问题”:ondrej / php5弃用脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
今天我将LEMP堆栈上的 PHP 5.5升级到版本5.5.35.升级后,我收到一条屏幕消息,表示repo ppa:ondrej / PHP5已被弃用,如果我想继续接收PHP更新,我应该转到ppa:ondrej / PHP,现在包括PHP 5.5,PHP 5.6和PHP 7.0 in one place以前这些版本都在不同的回购中.

我按照Ondřej的建议行事:@H_126_7@

sudo add-apt-reposITory ppa:ondrej/PHP

然后:

sudo apt-get update
sudo apt-get upgrade --show-upgraded

一切都很好,除了两个软件包被阻止:PHP-PEar和pkg-PHP-tools.当然,当程序包依赖性发生变化时,会发生这种情况,因此我运行:

sudo apt-get install PHP-pear pkg-PHP-tools

然后,我收到一条消息,说明将安装以下软件包:

PHP-cli PHP-common PHP-XMl PHP7.0-cli PHP7.0-common PHP7.0-JSON PHP7.0-Opcache PHP7.0-readline PHP7.0-xML

我立刻感到有些不对劲.当我运行PHP 5.5时为什么我需要PHP 7.0包?但是我选择了YES,显然一切都很顺利.服务器正在运行,没有我所知道错误或混乱.然后我很好奇,我检查了我正在运行的PHP版本?

PHP -v

输出是:

PHP 7.0.6-1+donate.sury.org~trusty...

到底发生了什么事?我是如何最终安装PHP 7.0以及为什么服务器/站点没有崩溃?由于我使用NginxPHP-FPM,通过检查Nginx.conf我可以清楚地看到Nginx指向PHP5-fpm.sock所以我肯定在这里运行PHP5-fpm.此外,该站点已启动,并且日志中没有PHP错误.

我也去了,我上传一个PHPinfo文件.该文件显示我使用的是PHP 5.5.35.因此,有两条冲突的消息,其中命令通过ssh显示PHP版本是7.0.6,而PHPinfo文件显示服务器使用PHP 5.5.35.

所以我跑:

sudo apt-get remove PHP7.0-common

所有以前添加PHP7.0软件包都被删除了,而且最初被阻止的那两个软件包也被删除了.

现在,在通过SSH检查PHP版本后,它正确显示5.5.35.虽然发生了这一切,但服务器并没有遇到任何麻烦.此时的状态是我没有PHP-pear和pkg-PHP-tools软件包,但如果我尝试安装它们,那么所有这些PHP7.0软件包也必须安装.

我还检查了/ etc / PHP5和/ etc / PHP文件夹.在这第二个文件夹中有7.0文件夹,其中包含mods的cli和mods-available文件夹.

有人可以向我解释这里发生了什么,我该怎么办? PHP5和PHP7.0是否同时在服务器上运行?我是否需要在LEMP wordpress堆栈中保留的那两个包?

解决方法

PHP-pear和pkg-PHP-tools必须依赖于PHP CLI才能获得认的PHP版本和PHP 7.0.安装PHP-cli会安装将安装/usr/bin/PHP7.0的PHP7.0-cli并将其注册为具有最高(70)优先级的替代方案以提供/usr/bin/PHP.

除非您需要使用命令行在本地运行PHP脚本,否则安装PHP CLI二进制文件几乎是无害的.我可以推荐两种方法

>重写这些脚本以指定所需的版本,例如改变PHP< script>到PHP5.6< script>,或
>使用update-alternatives将/usr/bin/PHP切换到您想要的PHP版本:a)切换到特定的版本更新 – 替代–set PHP /usr/bin/PHP5.6或b)update-alternatives –config PHP手动配置版本

更完整版的迁移指南位于DEB.SURY.ORG Wiki.

要使用新的PHP FPM包,您需要安装:

sudo apt-get install PHP5.5-fpm # for PHP 5.5
sudo apt-get install PHP5.6-fpm # for PHP 5.6
sudo apt-get install PHP7.0-fpm # for PHP 7.0

并相应调整套接字,查看认的FPM配置:

sudo editor /etc/PHP/X.Y/fpm/pool.d/www.conf

对于套接字位置(认情况下为/run/PHP/PHPX.Y-fpm.sock).

脚本宝典总结

以上是脚本宝典为你收集整理的ppa之后的“问题”:ondrej / php5弃用全部内容,希望文章能够帮你解决ppa之后的“问题”:ondrej / php5弃用所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。