升级到 PHP 7.4

人们期待已久的 PHP 7.4最新版本于2019年11月28日发布。 它有很多新功能,例如

  • 类型属性
  • 箭头函数
  • 有限返回类型协变与参数类型逆变
  • 打包内部数组
  • 数值文字分隔符
  • 弱引用
  • 允许从 __toString() 抛出异常
  • 预加载
  • 一些弃用
  • 从核心删除扩展

PHP 7.1 即将停产,7.2 只有在12月1日才会成为安全版本。

PHP EOL

让我们看看如何将 PHP 安装升级到 7.4。

1. 在 PPA 中添加 ondrej/php

Ubuntu:

sudo add-apt-repository ppa:ondrej/php # Press enter to confirm.
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 # Download the signing key
sudo sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' # Add Ondrej's repo to sources list.
sudo apt update

2. 安装 PHP 7.4 和所需的扩展模块

安装 PHP 7.4 核心

sudo apt install php7.4 php7.4-common php7.4-cli

安装所需的扩展模块

只需在安装的扩展名前面加上php7.4-即可。
例如,要获取扩展名为php-curl的命令,请使用命令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.4-readline php7.4-zip

3. 用于 Web 的 PHP 7.4:

如果你使用的是 Nginx 或带有 mod_event 的 Apache,要将 PHP 与你的 web 服务器集成,需要安装php7.4-fpm压缩包。如果你使用 PHP 作为嵌入式 Apache 模块,则需要libapache2-mod-php7.4包。对于 Apache,你可以使用apachectl-V命令查看你当前的 MPM,无论是prefork命令还是event命令。

带有 event MPM 的 Nginx 或 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 安装:

要验证 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。 请参阅以下网址的 PHP7.4 迁移指南:www.php.net/migration74

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

原文地址:https://dev.to/anandpushkar088/upgrading...

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

本文为协同翻译文章,如您发现瑕疵请点击「改进」按钮提交优化建议
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

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