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文章
9123瀏覽量
85324 -
Ubuntu
+關注
關注
5文章
563瀏覽量
29704 -
PHP
+關注
關注
0文章
452瀏覽量
26678 -
nginx
+關注
關注
0文章
149瀏覽量
12170
發布評論請先 登錄
相關推薦
評論