Ubuntu 下如何升级到 PHP 7.4 ?
期待已久的PHP7.4最新版本于2019年11月28日发布。它有很多新特性,比如
- 类型化属性
- 箭头函数
- 有限返回类型协方差和参数类型协方差
- 在数组中解包
- 数字文字分隔符
- 弱引用
- 允许来自toString()的异常:
- Opcache预加载
- 一些弃用
- 从核心移除的扩展
PHP 7.1 和 7.2 的安全性最后一次安全性更新将在12月1号截止.
让我们看看如何将您的PHP安装升级到7.4.
1. 添加 ondrej / php
PPA
Ubuntu:
sudo add-apt-repository ppa:ondrej/php # 按 Enter 确认.
sudo apt-get update
Debian:
sudo apt install apt-transport-https lsb-release
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg # 下载签名密钥
sudo sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' # 将 Ondrej 的仓库添加到来源列表.
sudo apt update
2. 安装PHP 7.4和所需的扩展
安装PHP 7.4 核心程序
sudo apt install php7.4 php7.4-common php7.4-cli
安装所需的扩展
Simply prefix php7.4-
with an extension that you need to install.\
For example to get the php-curl
extension use php7.4-curl
\
sudo apt install php7.4-curl php7.4-json php7.4-gd php7.4-mbstring php7.4-intl php7.4-bcmath php7.4-bz2 php7.3-readline php7.3-zip
3 为 Web 应用中添加 PHP 7.4
将 PHP 集成到 Web 服务器时,若使用 Nginx 或带 mod_event
的 Apache,则需要安装 php7.4-fpm
包。若使用 PHP 作为 Apache 的嵌入模块,则需要 libapache2-mod-php7.4
包。对于 Apache 而言,可使用 apachectl -V
来查看当前的 MPM 是 prefork
还是 event
模式。
Nginx 或使用 event MPM 的 Apache
sudo apt install php7.4-fpm
使用 prefork MPM 的 Apache:
sudo apt install libapache2-mod-php7.4
sudo a2enmod php7.4
4 卸载旧版本的 PHP
sudo apt purge php7.3 libapache2-mod-php7.3 # For removing PHP 7.3
sudo apt purge php7.2 libapache2-mod-php7.2 # For removing PHP 7.2
sudo apt purge php7.1 libapache2-mod-php7.1 # For removing PHP 7.1
sudo apt purge php7.0 libapache2-mod-php7.0 # For removing PHP 7.0
5 验证安装是否成功
通过以下方式验证 PHP 7.4 是否安装成功。
通过 CLI 验证
php -v
通过 Web 服务验证
创建 info.php
文件,该文件必须保存在 web 根目录下。对于 Ubuntu 和 Debian 系统而言,该目录的所在位置为 /var/www/html/
sudo nano /var/www/html/info.php
在编辑器中输入以下代码
<?php
phpinfo();
完成后,保存并关闭文件。
现在,通过浏览器来访问该脚本,访问地址为 http://your_server_IP_address/info.php
,你将看到与下面内容类似的页面。
到此为止,PHP 7.4 已经成功运行。点击 这里 查看 PHP 7.4 的迁移指南。
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
sudo apt-get update 更新签名验证失败
解决:
继续