<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
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?ejSury維護著一個包含多個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

    文章

    8271

    瀏覽量

    83062
  • Ubuntu
    +關注

    關注

    5

    文章

    537

    瀏覽量

    29001
  • PHP
    PHP
    +關注

    關注

    0

    文章

    452

    瀏覽量

    26495
  • nginx
    +關注

    關注

    0

    文章

    136

    瀏覽量

    12021
收藏 人收藏

    評論

    相關推薦

    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 ?2083次閱讀

    Ubuntu 20.04默認附帶Snap版本

    Ubuntu開發團隊的郵件列表顯示,即將發布的Ubuntu 20.04將默認附帶Snap版本的應用商店。ubuntu-desktop和ubuntu
    的頭像 發表于 03-06 14:20 ?3494次閱讀

    Ubuntu 20.04 LTS成功引入PHP 7.4

    Canonical 的 Bryce Harrington 在上周四分享了成功將 PHP 7.4 引入 Ubuntu 20.04 軟件包檔案庫中的消息,這并不令人感到意外,畢竟早在上個月 Bryce 就已開始這項工作。
    的頭像 發表于 03-31 14:09 ?1991次閱讀
    <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 ?2144次閱讀

    何在Ubuntu 20.04安裝和配置FTP服務器

    本教程介紹如何在Ubuntu 20.04安裝和配置,用于在設備之間共享文件的FTP服務器。
    的頭像 發表于 12-05 16:04 ?4139次閱讀

    何在Ubuntu 20.04安裝phpMyAdmin和Nginx

    phpMyAdmin是一個基于PHP的開源工具,通過基于Web的界面管理MySQL和MariaDB服務器。
    的頭像 發表于 12-06 16:47 ?1533次閱讀

    何在Ubuntu 22.04上安裝Microsoft Edge瀏覽器

    其他瀏覽器,如 Microsoft edge 瀏覽器。 在本教程中,我們將在 Ubuntu 20.04 完成 Microsoft edge 下載和安裝(包括穩定版、測試版和開發版)的過程?,F在讓我們開始吧。 Edge
    的頭像 發表于 02-20 11:13 ?1.1w次閱讀

    Windows11 wsl2安裝Ubuntu-20.04

    Windows11 wsl2安裝Ubuntu-20.04
    的頭像 發表于 08-16 10:04 ?675次閱讀
    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 ?1168次閱讀

    Ubuntu 20.04如何更改用戶名

    產品簡介本文適用于所有RK3568/RK3588平臺產品在Ubuntu20.04系統上如何更改用戶名,本文以IDO-EVB3588開發板為例,在ubuntu20.04系統上修改用戶名industio
    的頭像 發表于 01-26 08:34 ?374次閱讀
    <b class='flag-5'>Ubuntu</b> <b class='flag-5'>20.04</b>如何更改用戶名

    云服務器的linux中如何搭建php運行環境?

    服務器: 如果您計劃將PHP用于Web開發,您需要安裝一個Web服務器。Apache和Nginx是兩個常用的選擇。例如,在Ubuntu上,您可以安裝
    的頭像 發表于 03-21 17:08 ?202次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>