Ubuntu 下如何升级到 PHP 7.4 ?

期待已久的PHP7.4最新版本于2019年11月28日发布。它有很多新特性,比如

  • 类型化属性
  • 箭头函数
  • 有限返回类型协方差和参数类型协方差
  • 在数组中解包
  • 数字文字分隔符
  • 弱引用
  • 允许来自toString()的异常:
  • Opcache预加载
  • 一些弃用
  • 从核心移除的扩展

PHP 7.1 和 7.2 的安全性最后一次安全性更新将在12月1号截止.

PHP EOL

让我们看看如何将您的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

php -v output

通过 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,你将看到与下面内容类似的页面。

phpinfo() output

到此为止,PHP 7.4 已经成功运行。点击 这里 查看 PHP 7.4 的迁移指南。

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://dev.to/pushkaranand/upgrading-to...

译文地址:https://learnku.com/php/t/37416

本帖已被设为精华帖!
本文为协同翻译文章,如您发现瑕疵请点击「改进」按钮提交优化建议
讨论数量: 1

sudo apt-get update 更新签名验证失败

Reading package lists... Done
W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: https://packages.gitlab.com/runner/gitlab-runner/ubuntu xenial InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 3......

解决:

sudo apt-get clean 

cd /var/lib/apt 

sudo mv lists lists.old 

sudo mkdir -p lists/partial 

sudo apt-get clean 

继续

sudo apt-get update
3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!