0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在Ubuntu 20.04安装PHP 8.1并将其与Nginx集成

CHANBAEK 来源:myfreax 作者:myfreax 2022-12-05 16:43 次阅读

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

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

时至今天,主流的HTTP服务器已不是Apache,我们推荐使用Nginx作为HTTP服务器,Nginx相对于Apache来说简单且性能更好。

教程将向您展示如何在Ubuntu 20.04安装PHP 8.1并将其与Nginx集成。在撰写本文时,默认的Ubuntu 20.04存储库包括PHP 7.4版本。

安装 PHP 8.1

我们将从ondrej/php的PPA存储库中安装PHP。升级或安装PHP 8之前,请确保您的应用程序支持它。

OndřejSurý维护着一个包含多个PHP版本的存储库。请运行下面的命令安装PHP 8.1。

终端将会提示你是否继续的消息,Press [ENTER] to continue or Ctrl-c to cancel adding it.。按Enter键回车即可。

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

sudo apt update
sudo apt install php8.1-fpm

安装 PHP扩展

PHP扩展是已编译的动态库,它扩展了PHP的核心功能。PHP扩展程序作为软件包提供,可以通过apt安装PHP扩展。

按照惯例PHP扩展的通常是以php开头,接着是版本号,然后是-和扩展名称。这是通用的格式php8.1-[extname]

并不是所有php扩展都可以通过apt命令进行安装,Apt仓库仅提供常用PHP扩展,某些扩展可能需要自己手动编译。

例如,要安装MySQL和GD扩展,您可以运行命令sudo apt install php8.1-mysql php8.1-gd

在安装PHP扩展之后,请不要忘记重启Apache或PHP-FPM服务,否则新的PHP扩展不会加载到PHP-FPM。运行命令sudo systemctl restart php8.1-fpm

最后运行命令sudo systemctl status php8.1-fpm打印PHP-FPM服务的状态信息,验证是否成功重启PHP-FPM。

sudo apt update
sudo apt install php8.1-fpm php8.1-mysql php8.1-gd
sudo systemctl restart php8.1-fpm
sudo systemctl status php8.1-fpm
● php8.1-fpm.service - The PHP 8.1 FastCGI Process Manager
     Loaded: loaded (/lib/systemd/system/php8.1-fpm.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2020-12-03 16:10:47 UTC; 6s ago

配置 Nginx PHP

Nginx不支持直接运行PHP文件。我们将使用PHP-FPM FastCGI进程管理器来运行PHP文件。

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

在本教程中我们将使用vim编辑器打开文件etc/nginx/sites-enabled/example.conf

复制粘帖以下内容到etc/nginx/sites-enabled/example.conf文件中, 使Nginx可以运行PHP文件。

sudo vim etc/nginx/sites-enabled/example.conf
server {


    server_name example.com;
    root /var/www/html/;


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

保存文件并退出vim。创建Nginx虚拟主机配置后,你应该在每次修改Nginx配置文件运行nginx -t命令测试Nginx配置的语法是否正确。

如果没有错误nginx将会提示你nginx: configuration file etc/nginx/nginx.conf test is successful

当测试Nginx配置正确之后,不要忘记运行systemctl命令重新启动Nginx服务,运行命令sudo systemctl restart nginx使nginx配置文件生效。

为了能够正确解释域名example.com。因此我们还需要映射example.com到本地回环地址127.0.0.1

运行命令echo "127.0.0.1 example.com" | sudo tee -a etc/hosts

sudo nginx -t
sudo systemctl restart nginx
echo "127.0.0.1 example.com" | sudo tee -a etc/hosts

phpinfo 页面

要测试是否已正确配置Web服务器运行PHP,请在/var/www/html目录中创建一个名为info.php的新文件。然后保存文件并退出vim。

保存文件后,我们还需要使用chmod命令让info.php具有可执行权限。运行命令sudo chmod +x /var/www/html/info.php

Nginx必须对站点的根目录有读取权限,对于可执行文件,例如php。nginx必须对其有可执行权限,否则nginx返回500内部服务器的错误。

sudo vim /var/www/html/info.php
sudo chmod +x /var/www/html/info.php

/var/www/html/info.php


phpinfo();

打开你的浏览器,然后访问。您将看到您的PHP配置的信息。

结论

在Ubuntu 20.04安装PHP 8.1是一项简单的任务。您需要做的就是启用ondrej/php存储库,并使用apt安装PHP 8.1。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 服务器
    +关注

    关注

    12

    文章

    9123

    浏览量

    85322
  • Ubuntu
    +关注

    关注

    5

    文章

    563

    浏览量

    29702
  • PHP
    PHP
    +关注

    关注

    0

    文章

    452

    浏览量

    26676
  • nginx
    +关注

    关注

    0

    文章

    149

    浏览量

    12170
收藏 人收藏

    评论

    相关推荐

    NanoPi NEO - 可靠的Nginx 网络服务器

    Ubuntu16.04 的默认nginx 的文档根目录为/var/www/html4. 安装 PHP 7我们可以通过使nginx
    发表于 06-20 15:43

    怎样利用Ubuntu20.04安装Mentor Calibre 2020?

    怎样利用Ubuntu20.04安装Mentor Calibre 2020?有没有人遇到过这个问题啊
    发表于 06-23 07:19

    何在Ubuntu20.04上的STM32CubeIDE中安装STM32CubeL5?

    我已经在Ubuntu 20.04安装了STM32CubeIDE,并为NUCLEO L552ZE-Q设置了一个项目,我想尝试STM32L5的例子,发现它需要STM32CubeL5。如何安装
    发表于 01-06 09:06

    S32DS 3.5 Ubuntu 20.04安装卡住了怎么解决?

    S32DS 3.5 Ubuntu 20.04 安装卡住
    发表于 04-21 08:07

    何在Ubuntu桌面环境上安装Google Chrome ?

    作为全球最受欢迎的网页浏览器,新的 Linux 用户经常会问如何在 Ubuntu安装谷歌浏览器。 这不是一个愚蠢的问题。围绕构建 Linux 的困境,大多数用户试图从 Ubuntu
    发表于 05-05 14:00 2241次阅读

    Ubuntu 20.04默认附带Snap版本

    Ubuntu开发团队的邮件列表显示,即将发布的Ubuntu 20.04将默认附带Snap版本的应用商店。ubuntu-desktop和ubuntu
    的头像 发表于 03-06 14:20 3704次阅读

    Ubuntu 20.04 LTS成功引入PHP 7.4

    Canonical 的 Bryce Harrington 在上周四分享了成功将 PHP 7.4 引入 Ubuntu 20.04 软件包档案库中的消息,这并不令人感到意外,毕竟早在上个月 Bryce 就已开始这项工作。
    的头像 发表于 03-31 14:09 2181次阅读
    <b class='flag-5'>Ubuntu</b> <b class='flag-5'>20.04</b> LTS成功引入<b class='flag-5'>PHP</b> 7.4

    干货:Centos 6.5部署nginxphp环境部署

    干货:Centos 6.5部署nginxphp环境部署
    的头像 发表于 06-28 10:00 2299次阅读

    如何制作ubuntu20.04的文件系统

    firefly自带的文件系统,由于缺少一些基本功能模块,因此,我们可以自己手动制作一个ubuntu20.04的文件系统。
    的头像 发表于 10-17 12:12 3760次阅读

    何在Ubuntu 20.04安装和配置FTP服务器

    本教程介绍如何在Ubuntu 20.04安装和配置,用于在设备之间共享文件的FTP服务器。
    的头像 发表于 12-05 16:04 4785次阅读

    何在Ubuntu 20.04安装phpMyAdmin和Nginx

    phpMyAdmin是一个基于PHP的开源工具,通过基于Web的界面管理MySQL和MariaDB服务器。
    的头像 发表于 12-06 16:47 1856次阅读

    何在Ubuntu 22.04上安装Microsoft Edge浏览器

    其他浏览器,如 Microsoft edge 浏览器。 在本教程中,我们将在 Ubuntu 20.04 完成 Microsoft edge 下载和安装(包括稳定版、测试版和开发版)的过程。现在让我们开始吧。 Edge
    的头像 发表于 02-20 11:13 1.3w次阅读

    Windows11 wsl2安装Ubuntu-20.04

    Windows11 wsl2安装Ubuntu-20.04
    的头像 发表于 08-16 10:04 1139次阅读
    Windows11 wsl2<b class='flag-5'>安装</b><b class='flag-5'>Ubuntu-20.04</b>

    ubuntu20.04安装教程

    Ubuntu 20.04安装步骤如下: 制作启动U盘。首先下载Ubuntu 20.04的镜像文件和UltraISO(镜像制作工具)。然后
    的头像 发表于 11-13 16:59 2194次阅读

    Ubuntu 20.04如何更改用户名

    产品简介本文适用于所有RK3568/RK3588平台产品在Ubuntu20.04系统上如何更改用户名,本文以IDO-EVB3588开发板为例,在ubuntu20.04系统上修改用户名industio
    的头像 发表于 01-26 08:34 845次阅读
    <b class='flag-5'>Ubuntu</b> <b class='flag-5'>20.04</b>如何更改用户名