PHP是使用最廣泛的服務(wù)器端編程語言之一。有許多流行的CMS和框架,例如WordPress,Magento和Laravel都是用PHP編寫的。
PHP 8.1是PHP語言的最新主要版本。它引入了一些重大更改,性能改進以及許多新功能,例如命名參數(shù),JIT編譯器,聯(lián)合類型,匹配表達式等。
時至今天,主流的HTTP服務(wù)器已不是Apache,我們推薦使用Nginx作為HTTP服務(wù)器,Nginx相對于Apache來說簡單且性能更好。
本教程將向您展示如何在Ubuntu 20.04安裝PHP 8.1并將其與Nginx集成。在撰寫本文時,默認的Ubuntu 20.04存儲庫包括PHP 7.4版本。
安裝 PHP 8.1
我們將從ondrej/php的PPA存儲庫中安裝PHP。升級或安裝PHP 8之前,請確保您的應(yīng)用程序支持它。
Ond?ejSury維護著一個包含多個PHP版本的存儲庫。請運行下面的命令安裝PHP 8.1。
終端將會提示你是否繼續(xù)的消息,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擴展是已編譯的動態(tài)庫,它擴展了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服務(wù),否則新的PHP擴展不會加載到PHP-FPM。運行命令sudo systemctl restart php8.1-fpm
。
最后運行命令sudo systemctl status php8.1-fpm
打印PHP-FPM服務(wù)的狀態(tài)信息,驗證是否成功重啟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文件。
現(xiàn)在使用你的喜歡的文本編輯器創(chuàng)建Nginx虛擬主機配置文件etc/nginx/sites-enabled/example.conf目錄中。
在本教程中我們將使用vim編輯器打開文件etc/nginx/sites-enabled/example.conf
。
復(fù)制粘帖以下內(nèi)容到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。創(chuàng)建Nginx虛擬主機配置后,你應(yīng)該在每次修改Nginx配置文件運行nginx -t
命令測試Nginx配置的語法是否正確。
如果沒有錯誤nginx將會提示你nginx: configuration file etc/nginx/nginx.conf test is successful
。
當測試Nginx配置正確之后,不要忘記運行systemctl
命令重新啟動Nginx服務(wù),運行命令sudo systemctl restart nginx
使nginx配置文件生效。
為了能夠正確解釋域名example.com
。因此我們還需要映射example.com
到本地回環(huán)地址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服務(wù)器運行PHP,請在/var/www/html
目錄中創(chuàng)建一個名為info.php
的新文件。然后保存文件并退出vim。
保存文件后,我們還需要使用chmod命令讓info.php
具有可執(zhí)行權(quán)限。運行命令sudo chmod +x /var/www/html/info.php
。
Nginx必須對站點的根目錄有讀取權(quán)限,對于可執(zhí)行文件,例如php。nginx必須對其有可執(zhí)行權(quán)限,否則nginx返回500內(nèi)部服務(wù)器的錯誤。
sudo vim /var/www/html/info.php
sudo chmod +x /var/www/html/info.php
/var/www/html/info.php
phpinfo();
打開你的瀏覽器,然后訪問。您將看到您的PHP配置的信息。
結(jié)論
在Ubuntu 20.04安裝PHP 8.1是一項簡單的任務(wù)。您需要做的就是啟用ondrej/php存儲庫,并使用apt
安裝PHP 8.1。
-
服務(wù)器
+關(guān)注
關(guān)注
13文章
9795瀏覽量
88000 -
Ubuntu
+關(guān)注
關(guān)注
5文章
592瀏覽量
31251 -
PHP
+關(guān)注
關(guān)注
0文章
454瀏覽量
27544 -
nginx
+關(guān)注
關(guān)注
0文章
171瀏覽量
12606
發(fā)布評論請先 登錄
NanoPi NEO - 可靠的Nginx 網(wǎng)絡(luò)服務(wù)器
怎樣利用Ubuntu20.04去安裝Mentor Calibre 2020?
如何在Ubuntu20.04上的STM32CubeIDE中安裝STM32CubeL5?
如何在Ubuntu桌面環(huán)境上安裝Google Chrome ?
新Ubuntu 20.04默認附帶Snap版本
Ubuntu 20.04 LTS成功引入PHP 7.4

如何在Ubuntu 20.04安裝和配置FTP服務(wù)器
如何在Ubuntu 20.04安裝phpMyAdmin和Nginx
如何在Ubuntu 22.04上安裝Microsoft Edge瀏覽器
ubuntu20.04安裝教程
Ubuntu 20.04如何更改用戶名

評論