PHP是使用最廣泛的服務(wù)器端編程語言之一。有許多流行的CMS和框架,例如WordPress,Magento和Laravel都是用PHP編寫的。
PHP 8.1是PHP語言的最新主要版本。它引入了一些重大更改,性能改進(jìn)以及許多新功能,例如命名參數(shù),JIT編譯器,聯(lián)合類型,匹配表達(dá)式等。
時至今天,主流的HTTP服務(wù)器已不是Apache,我們推薦使用Nginx作為HTTP服務(wù)器,Nginx相對于Apache來說簡單且性能更好。
本教程將向您展示如何在Ubuntu 20.04安裝PHP 8.1并將其與Nginx集成。在撰寫本文時,默認(rèn)的Ubuntu 20.04存儲庫包括PHP 7.4版本。
安裝 PHP 8.1
我們將從ondrej/php的PPA存儲庫中安裝PHP。升級或安裝PHP 8之前,請確保您的應(yīng)用程序支持它。
Ond?ejSury維護(hù)著一個包含多個PHP版本的存儲庫。請運(yùn)行下面的命令安裝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擴(kuò)展
PHP擴(kuò)展是已編譯的動態(tài)庫,它擴(kuò)展了PHP的核心功能。PHP擴(kuò)展程序作為軟件包提供,可以通過apt
安裝PHP擴(kuò)展。
按照慣例PHP擴(kuò)展的通常是以php開頭,接著是版本號,然后是-
和擴(kuò)展名稱。這是通用的格式php8.1-[extname]
。
并不是所有php擴(kuò)展都可以通過apt命令進(jìn)行安裝,Apt倉庫僅提供常用PHP擴(kuò)展,某些擴(kuò)展可能需要自己手動編譯。
例如,要安裝MySQL和GD擴(kuò)展,您可以運(yùn)行命令sudo apt install php8.1-mysql php8.1-gd
。
在安裝PHP擴(kuò)展之后,請不要忘記重啟Apache或PHP-FPM服務(wù),否則新的PHP擴(kuò)展不會加載到PHP-FPM。運(yùn)行命令sudo systemctl restart php8.1-fpm
。
最后運(yùn)行命令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不支持直接運(yùn)行PHP文件。我們將使用PHP-FPM FastCGI進(jìn)程管理器來運(yùn)行PHP文件。
現(xiàn)在使用你的喜歡的文本編輯器創(chuàng)建Nginx虛擬主機(jī)配置文件etc/nginx/sites-enabled/example.conf目錄中。
在本教程中我們將使用vim編輯器打開文件etc/nginx/sites-enabled/example.conf
。
復(fù)制粘帖以下內(nèi)容到etc/nginx/sites-enabled/example.conf
文件中, 使Nginx可以運(yùn)行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虛擬主機(jī)配置后,你應(yīng)該在每次修改Nginx配置文件運(yùn)行nginx -t
命令測試Nginx配置的語法是否正確。
如果沒有錯誤nginx將會提示你nginx: configuration file etc/nginx/nginx.conf test is successful
。
當(dāng)測試Nginx配置正確之后,不要忘記運(yùn)行systemctl
命令重新啟動Nginx服務(wù),運(yùn)行命令sudo systemctl restart nginx
使nginx配置文件生效。
為了能夠正確解釋域名example.com
。因此我們還需要映射example.com
到本地回環(huán)地址127.0.0.1
。
運(yùn)行命令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ù)器運(yùn)行PHP,請在/var/www/html
目錄中創(chuàng)建一個名為info.php
的新文件。然后保存文件并退出vim。
保存文件后,我們還需要使用chmod命令讓info.php
具有可執(zhí)行權(quán)限。運(yù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)注
12文章
9329瀏覽量
86131 -
Ubuntu
+關(guān)注
關(guān)注
5文章
566瀏覽量
30062 -
PHP
+關(guān)注
關(guān)注
0文章
454瀏覽量
26802 -
nginx
+關(guān)注
關(guān)注
0文章
154瀏覽量
12240
發(fā)布評論請先 登錄
相關(guān)推薦
NanoPi NEO - 可靠的Nginx 網(wǎng)絡(luò)服務(wù)器
怎樣利用Ubuntu20.04去安裝Mentor Calibre 2020?
如何在Ubuntu20.04上的STM32CubeIDE中安裝STM32CubeL5?
如何在Ubuntu桌面環(huán)境上安裝Google Chrome ?
新Ubuntu 20.04默認(rèn)附帶Snap版本
Ubuntu 20.04 LTS成功引入PHP 7.4
![<b class='flag-5'>Ubuntu</b> <b class='flag-5'>20.04</b> LTS成功引入<b class='flag-5'>PHP</b> 7.4](https://file.elecfans.com/web1/M00/B9/6F/pIYBAF6C3j2AYRDTAAH_FZfOnX0581.png)
如何制作ubuntu20.04的文件系統(tǒng)
如何在Ubuntu 20.04安裝和配置FTP服務(wù)器
如何在Ubuntu 20.04安裝phpMyAdmin和Nginx
如何在Ubuntu 22.04上安裝Microsoft Edge瀏覽器
ubuntu20.04安裝教程
Ubuntu 20.04如何更改用戶名
![<b class='flag-5'>Ubuntu</b> <b class='flag-5'>20.04</b>如何更改用戶名](https://file1.elecfans.com/web2/M00/8F/50/wKgZomTMciWAD54NAABOGP2pQZY452.png)
評論