PHP是使用最广泛的服务器端编程语言之一。 有许多流行的CMS和框架,例如WordPress,Magento和Laravel都是用PHP编写的。

PHP 8.0是PHP语言的最新主要版本。 它引入了一些重大更改,性能改进以及许多新功能,例如命名参数,JIT编译器,联合类型,匹配表达式等。

本教程将向您展示如何在Ubuntu 20.04上安装PHP 8并将其与Nginx和Apache集成。包括配置Apache服务器与PHP-FPM,Nginx虚拟主机与PHP-FPM的配置并验证是否正确配置PHP与HTTP服务器的集成。在撰写本文时,默认的Ubuntu 20.04存储库包括PHP 7.4版本。

我们将从ondrej/phpPPA存储库中安装PHP。升级或安装PHP 8之前,请确保您的应用程序支持它。相同的步骤适用于Ubuntu 18.04和所有基于Ubuntu的发行版,包括Kubuntu,Linux Mint和Elementary OS。

启用PHP存储库

Debian开发人员OndřejSurý维护着一个包含多个PHP版本的存储库。 要启用存储库,请运行:

sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php

启用PPA后,接下来您可以安装PHP8与Nginx和Apache。

安装PHP 8.0与Apache

如果您将Apache用作HTTP服务器,则可以将PHP作为Apache模块或PHP-FPM运行。

如何在Ubuntu 20.04上安装Apache | myfreax
Apache是世界上最受欢迎的Web服务器之一。 这是一个开放源代码和跨平台的HTTP服务器

将PHP安装为Apache模块

将PHP安装为Apache模块是一项简单的任务:

sudo apt update
sudo apt install php8.0 libapache2-mod-php8.0

安装软件包后,重新启动Apache以便加载PHP模块:

sudo systemctl restart apache2

使用PHP-FPM配置Apache

Php-FPM是PHP的FastCGI进程管理器。 运行以下命令以安装必要的软件包:

sudo apt update
sudo apt install php8.0-fpm

默认情况下,Apache中未启用PHP-FPM。 要启用它,请运行:

sudo a2enmod proxy_fcgi setenvif

要激活更改,请重新启动Apache:

sudo systemctl restart apache2

安装PHP 8.0与Nginx

Nginx不支持运行PHP文件。 我们将使用PHP-FPM FastCGI流程管理器来运行PHP文件。运行以下命令来安装PHP和PHP-FPM软件包:

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
如何在Ubuntu 20.04上设置Nginx虚拟主机
server是Nginx指令,用于定义特定域的设置,从而使您可以在一台服务器上运行多个网站。本文介绍了如何在Ubuntu 20.04上设置Nginx 虚拟主机server指令

现在使用你的喜欢的编辑器在/etc/nginx/sites-enabled目录中创建Nginx虚拟主机配置文件example.conf。在本教程中我们将使用vim编辑器:

vim /etc/nginx/sites-enabled/example.conf

复制粘帖以下内容,以使Nginx可以运行PHP文件:

server {

    servere_name example.com;

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.0-fpm.sock;
    }
}
/etc/nginx/sites-enabled/example.conf

不要忘记重新启动Nginx服务,以使新配置生效:

sudo systemctl restart nginx

安装PHP扩展

PHP扩展是编译的库,它扩展了PHP的核心功能。 扩展程序作为软件包提供,可以轻松地使用apt安装

sudo apt install php8.0-[extname]

例如,要安装MySQL和GD扩展,您可以运行以下命令:

sudo apt install php8.0-mysql php8.0-gd

在安装新的PHP扩展之后,请不要忘记重启Apache或PHP-FPM服务,具体取决于您的设置。

测试PHP

要测试是否已正确配置Web服务器以运行PHP,请在/var/www/html目录中创建一个名为info.php的新文件:

vim /var/www/html/info.php
<?php

phpinfo();
/var/www/html/info.php

保存文件,打开浏览器,然后访问:http://your_server_ip/info.php。您将看到您的PHP配置的信息。

结论

在Ubuntu 20.04服务器上安装PHP 8是一项简单的任务。 您需要做的就是启用ondrej/php存储库,并使用apt安装PHP 8。如果您有任何疑问或反馈,请随时发表评论。

如何在Ubuntu 20.04上安装PHP | myfreax
PHP是最常用的服务器端编程语言之一。本指南介绍了在Ubuntu 20.04上安装PHP并将其与Nginx和Apache集成的必要步骤
如何在Ubuntu 20.04的Nginx上配置Let’s Encrypt | myfreax
Web进行安全通信依赖于HTTPS,这需要使用数字证书,以便浏览器验证Web服务器的身份。在本教程中我们将讨论如何使用Certbot工具为自己的HTTP服务器,站点配置HTTPS的SSL证书
如何在Ubuntu 20.04上安装MySQL | myfreax
MySQL是最流行的开源关系数据库管理系统。 它快速,易于使用,可扩展,并且是流行的LAMP和LEMP栈的组成部分