在Ubuntu上用Nginx为WordPress安装PHP 7.4教程

447 阅读4分钟

PHP Logo

随着7.1或更早的PHP版本的寿命结束(EOL),以及PHP 7.4的全面生产,如果你还没有安装和配置PHP 7.4和任何所需的扩展,本文将引导你完成在基于Ubuntu的Nginx服务器上设置PHP 7.4的过程,以及为WordPress网站安装所需和推荐的PHP扩展。

与以前的版本相比,PHP 7.4提供了安全性和性能的改进。 尽管PHP 7.3仍然被认为是当前的版本,我也有一个关于设置的指南--点击这里了解如何安装PHP 7.3

在本文中,我在一个已经配置好并运行了 PHP 7.3 的系统上工作。

在开始之前,本文的步骤假设如下

  • 运行 Ubuntu 16.04 或 18.04
  • 你有sudo或root权限
  • 你的服务器运行Nginx。

1.添加PPA资源库并更新软件包列表。

运行下面的命令,将ppa:ondrej/php PPA资源库添加到系统中,并更新可用的包列表。 这个PPA包含了Ubuntu系统的最新PHP包和扩展,是我推荐的选择,尽管这些包有很多可能的来源。

sudo add-apt-repository ppa:ondrej/php
sudo apt update

这应该只需要一分钟就能完成,之后就可以安装和配置新的PHP包和任何需要的扩展。

2.安装PHP 7.3和任何需要的扩展程序。

接下来的命令将向你的系统安装php 7.4和使用最新核心分支运行WordPress网站所需的和推荐的扩展。

要安装php-7.4和php7.4-fpm。

sudo apt install php7.4 php7.4-fpm

为了确保你有所有运行WordPress网站所需的和推荐的扩展(这些扩展也应该足够用于大多数其他基于PHP的CMS平台或功能),运行以下内容。

sudo apt install php7.4-common php7.4-mysql php7.4-curl php7.4-json php7.4-mbstring php7.4-xml php7.4-zip php7.4-gd php7.4-soap php7.4-ssh2 php7.4-tokenizer

WordPress所需和推荐的PHP扩展的列表

WordPress在WordPress服务器环境文档中公布了一份优化运行WordPress所需和推荐的PHP扩展的列表,点击这里可以获得完整的列表,但为了您的参考,下面是截止到2020年11月11日的列表,WordPress 5.5.3版本是最新的,PHP 7.4是推荐版本。 其中很多都包含在php7.4-common包中,这就是为什么它们没有在早期的命令中被明确添加。

PHP Extensions for WordPress

必要的扩展:

curl-执行远程请求操作。
dom -用于验证文本小部件内容和自动配置IIS7+。
exif -对存储在图像中的元数据进行处理。
fileinfo -用于检测文件上传的mimetype。
hash -用于散列,包括密码和更新包。
json -用于与其他服务器通信。
mbstring- 用于正确处理UTF8文本。
mysqli -连接到MySQL进行数据库交互。
libsodium -验证签名并提供安全的随机字节。
openssl -允许基于SSL的连接到其他主机。
pcre -提高代码搜索中模式匹配的性能。
imagick -为媒体上传提供更好的图像质量。详情见WP_Image_Editor is incoming!当Ghost Script也可用时,可以更聪明地调整图片大小(用于更小的图片)和支持PDF缩略图。
xml -用于XML解析,例如从第三方网站上解析。
zip -用于解压Plugins、Themes和WordPress更新包。

推荐的扩展:

filter- 用于安全地过滤用户输入。
gd -如果Imagick没有安装,GD图形库被用作功能有限的后备图像处理。
iconv -用于字符集之间的转换。
mcrypt -当libsodium和/dev/urandom不可用时生成随机字节。
simplexml -用于XML解析。
xmlreader -用于XML解析。
zlib -Gzip压缩和解压。

3.在Nginx配置中配置PHP 7.4

接下来,你需要更新网站的Nginx配置,以利用最近安装的PHP 7.4,如果你已经安装和配置了旧的php版本,这只需要更新Nginx配置中的一点点代码。

如果你使用默认的网站块,并且只在服务上运行一个网站,这将使你的网站文档根目录在/var/www/html/ ,那么你将需要编辑默认的配置在/etc/nginx/sites-available/default ,你可以通过发出以下命令来完成。

sudo nano /etc/nginx/sites-available/default

如果你有多个站点和配置,并且想单独应用 PHP 7.4 而不是将其添加为默认配置,那么请在与 "默认 "文件相同的目录下编辑相应的配置文件,或者如果你使用的是自定义的站点块,则在你的站点配置可能被设置的地方编辑。

Install PHP 7.4 - PHP Extensions for WordPress

一旦用nano或你选择的文本编辑器打开该文件,接下来你需要在服务器配置部分添加或修改以下代码,以配置其用于PHP 7.4。

location ~ \.php$ { 
include snippets/fastcgi-php.conf; 
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; 
}

接下来需要重启php7.4-fpm服务,以及在重启或重载Nginx之前检查Nginx配置是否有问题。 在完成这些工作之前,更改不会生效。

重启php7.4-fpm--

sudo systemctl restart php7.4-fpm

检查Nginx配置的改变是否正确

sudo nginx -t

Nginx Config OK

只要Nginx配置测试结果为OK,那么就可以使用以下命令重启或重新加载Nginx。

sudo systemctl restart nginx
sudo systemctl reload nginx

你也可以通过运行下面的命令来检查这些服务的状态,以确保它们在你的服务器上成功重启。 这样做之后,PHP 7.4将运行它所配置的任何站点。

sudo systemctl status php7.4-fpm nginx

Install PHP 7.4 - PHP Extensions for WordPress