PHP是最广泛使用的服务器端编程语言之一。许多流行的CMS和框架,如WordPress、Magento和Laravel都是用PHP编写的。
PHP 8.0是PHP语言的最新主要版本。它引入了一些突破性的变化、性能改进和许多新的功能,如命名参数、JIT编译器、联合类型、匹配表达式等等。
本文将告诉你如何在Ubuntu 20.04上安装PHP 8并将其与Nginx和Apache集成。
在写这篇文章的时候,默认的Ubuntu 20.04软件库包括PHP 7.4版本。我们将从ondrej/php PPA库中安装PHP。
在升级到或安装PHP 8之前,确保你的应用程序支持它。
同样的步骤适用于 Ubuntu 18.04 和所有基于 Ubuntu 的发行版,包括 Kubuntu、Linux Mint 和 Elementary OS。
$ sudo apt install software-properties-common
$ sudo add-apt-repository ppa:ondrej/php
一旦PPA被启用,就可以安装PHP 8了。
$ sudo apt update
$ sudo apt install php8.0 libapache2-mod-php8.0
一旦软件包安装完毕,重启 Apache 以使 PHP 模块被加载。
$ sudo systemctl restart apache2
$ sudo apt update
$ sudo apt install php8.0-fpm libapache2-mod-fcgid
默认情况下,Apache中没有启用PHP-FPM。要启用它,请运行。
$ sudo a2enmod proxy_fcgi setenvif
$ sudo a2enconf php8.0-fpm
为了激活这些变化,重新启动Apache。
$ systemctl restart apache2
$ sudo apt update
$ sudo apt install php8.0-fpm
一旦安装完成,FPM服务将自动启动。要检查该服务的状态,请运行
$ systemctl status php8.0-fpm
php8.0-fpm.service - The PHP 8.0 FastCGI Process Manager
Loaded: loaded (/lib/systemd/system/php8.0-fpm.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2020-12-03 16:10:47 UTC; 6s ago
现在可以编辑Nginx服务器块,添加以下几行,以便Nginx可以处理PHP文件。
server {
# . . . other code
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.0-fpm.sock;
}
}
不要忘记重启Nginx服务,这样新的配置才会生效。
$ sudo systemctl restart nginx
$ sudo apt install php8.0-[extname]
例如,要安装MySQL和GD扩展,可以运行以下命令。
$ sudo apt install php8.0-mysql php8.0-gd
安装完新的PHP扩展后,不要忘记重新启动Apache或PHP FPM服务,这取决于你的设置。
<?php
phpinfo();
保存该文件,打开浏览器,并访问:http://your_server_ip/info.php。
你会看到与你的PHP配置类似的信息,如下所示: