Lor*_*ren 10 upgrade php package-management apt ppa
我今天完成了我通常的服务器包升级,发现它ppa:ondrej/php5-5.6已经贬值了,我们现在必须升级到ppa:ondrej/php.
提供的基本指令是运行:
sudo add-apt-repository ppa:ondrej/php
Run Code Online (Sandbox Code Playgroud)
进而:
sudo apt-get update
sudo apt-get upgrade --show-upgraded
Run Code Online (Sandbox Code Playgroud)
查看新存储库,名称似乎没有完全对齐,所以我想我需要进行一些 apt-get 安装才能安装所有正确的软件包。似乎子包(即 php-gd)将为所有 php 版本安装,并且还可能安装 php 5.5 和 php 7.0(/sf/ask/2603827761/ php5-弃用)
所以我的问题是,考虑到这是一个生产服务器,“切换”ppas 和清理现有包的最干净的方法是什么?我是否应该尝试删除从以前的 PPA 中安装的所有软件包和/或从我的系统中删除 PPA?
它尚未出现在 PPA 的主页上,但升级消息已于 2016 年 6 月弃用,因此重建我们的服务器映像的时间表不是很长。
我确实找到了这个页面,它提供了切换 apache 使用的 PHP 版本的说明:https : //dzone.com/articles/php-70-and-56-on-ubuntu
oer*_*dnj 12
旧php5-*包可以与新phpX.Y-*方案共同安装,因此您需要做的第一件事是安装并启用新包:
阿帕奇 2.4
您需要安装新的libapache2-mod-phpX.Y软件包,然后禁用旧的 php5,并启用新版本的模块,用于 PHP 5.6 的 fe:
sudo apt-get install libapache2-mod-php5.6
sudo a2dismod php5
sudo a2enmod php5.6
Run Code Online (Sandbox Code Playgroud)
带有 PHP-FPM 的 NGINX/Apache 2.4
这更简单,只需安装phpX.Y-fpm并将您的网络服务器配置中的套接字路径更改为/run/php/phpX.Y-fpm.sock并复制旧配置,fe for PHP 5.6:
sudo apt-get install php5.6-fpm
# now change the socket path in your nginx/apache2 configuration
# and restart the server
Run Code Online (Sandbox Code Playgroud)
如果您定义了更多 FPM 池,则需要将旧配置复制到新路径,同样适用于 PHP 5.6:
# keep the new www.conf
sudo mv /etc/php/5.6/fpm/pool.d/www.conf /etc/php/5.6/fpm/pool.d/www-5.6.conf
# copy the old configuration to the new path
sudo cp /etc/php5/fpm/pool.d/* /etc/php/5.6/fpm/pool.d/
sudo update-rc.d php5-fpm disable # or uninstall php5-fpm package
# restart PHP 5.6 FPM to read the new configuration
sudo service php5.6-fpm restart
Run Code Online (Sandbox Code Playgroud)
现在如果你想删除旧的包,你可能会遇到一些问题,因为可能有一些包需要旧的 php5* 名称,你可能想要添加ppa:ondrej/php5-compat提供映射php5-<foo>到php5.6-<foo>主要 php5* 包的兼容包的薄层:
sudo add-apt-repository ppa:ondrej/php5-compat
sudo apt-get update
sudo apt-get dist-upgrade
Run Code Online (Sandbox Code Playgroud)
一定要在非生产环境中先尝试这个!好的一面是,这可以保持旧配置/etc/php5不变,因此您可以迁移旧设置。
更新主要的 PHP 包后,您可能想要查找其余的php5-*包并安装它们的等效项,例如
apt-get install php-apcu # for php5-apcu
apt-get install php-memcached # for php5-memcached
Run Code Online (Sandbox Code Playgroud)
我将准备对 php5-compat 存储库的更新,这将自动进行此映射。
最新的文本总是可以在DEB.SURY.ORG PPA Wikis 中找到。
| 归档时间: |
|
| 查看次数: |
15306 次 |
| 最近记录: |