(Linux)- 如何在 Apache 和 Nginx 更新最新版的 PHP

(Linux)- 如何在 Apache 和 Nginx 更新最新版的 PHP

(Linux)- 如何在 Apache 和 Nginx 更新最新版的 PHP

如何在 Linux 上安裝最新的 php 版本 8.0,並在 Apache 和 Nginx 如何設定使用。

、更新 Linux 伺服器:

通過執行以下命令,確保 Linux 伺服器具有最新的軟體包。

sudo apt update

sudo apt upgrade

這將更新軟體包索引,並將已安裝的軟體包更新為最新版本。

 

二、為安裝 PHP 8 新增 PPA

新增具有 PHP 8 軟體包和其他必需的 PHP 擴充套件的 ondrej / php。

sudo apt install software-properties-common

sudo add-apt-repository ppa:ondrej/php

sudo apt update

一旦新增 PPA,就可以安裝 PHP 8 了。

 

PS:另一種安裝方法

#安裝apt-transport-https( 確保 APT 可以在 HTTPS 中執行 )、lsb-release( 識別系統的 Linux 發行版的版本)及 ca-certificates( CA 憑證工具 )

sudo apt-get install apt-transport-https lsb-release ca-certificates -y

#加入 packages.sury.org 的 GPG key

sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg

#將 packages.sury.org 寫入至 Debian 的 sources list 套件來源清單

echo “deb https://packages.sury.org/php/ $(lsb_release -sc) main” | sudo tee /etc/apt/sources.list.d/php.list

#更新sources list清單

sudo apt-get update

 

三、安裝 PHP 8

執行以下命令以安裝 PHP 8

sudo apt install php8.0

安裝完成後,可以使用以下命令確認安裝

php -v

 

四、為 Apache  安裝 PHP 8 FPM

對於 Nginx,需要安裝 FPM,執行以下命令以安裝 PHP 8 FPM

sudo apt install php8.0-fpm

安裝完成後,請使用以下命令確認 PHP 8 FPM 已正確安裝

php-fpm8.0 -v

PS:

默認情況下,Apache 未啟動 PHP-FPM,要啟動它,請運行:

sudo a2enmod proxy_fcgi setenvif

sudo a2enconf php8.0-fpm

要激活更改,請重新啟動 Apache:

systemctl restart apache2

 

五、安裝 PHP 8 擴充套件

安裝 php 擴充套件很簡單,使用下面的命令可以安裝任意擴充套件

sudo apt install php8.0-extension_name

下面列出了常用的擴充套件,可以複製並直接安裝

sudo apt install php8.0-common php8.0-mysql php8.0-xml php8.0-curl php8.0-gd php8.0-imagick php8.0-cli php8.0-dev php8.0-imap php8.0-mbstring php8.0-opcache php8.0-soap php8.0-zip -y

 

六、為 Apache 設定 PHP 8

現在可以設定 Web 應用的 PHP 版本,可以通過修改 php.ini 檔案中的某些值來設定

對於使用 Apache 的 PHP 8,php.ini 位置一般在下面的目錄中。

sudo nano /etc/php/8.0/apache2/php.ini

推薦在編輯器中按 F6,使用搜尋功能修改設定項,推薦更新以下值可以提高效能。

upload_max_filesize = 32M
post_max_size = 48M
memory_limit = 256M
max_execution_time = 600
max_input_vars = 3000
max_input_time = 1000

修改 PHP 設定後,需要重新啟動 Apache 才能使更改生效。

sudo php-fpm8.0 -t

sudo service php8.0-fpm restart

 

七、為 Nginx 設定 PHP 8

對於使用 Nginx 的 PHP 8 FPM,php.ini 位置將在以下目錄中。

sudo nano /etc/php/8.0/fpm/php.ini

在編輯器中按 F6 鍵進行搜尋,並更新以下值以獲得更好的效能。

upload_max_filesize = 32M
post_max_size = 48M
memory_limit = 256M
max_execution_time = 600
max_input_vars = 3000
max_input_time = 1000

修改 PHP 設定後,需要重新啟動 PHP FPM 才能使更改生效。

sudo php-fpm8.0 -t

sudo service php8.0-fpm restart

PS:

安裝完成後,FPM 服務將會自動啟動,要檢查服務狀態,請運行:

systemctl status php8.0-fpm

 

八、設定 PHP 8 FPM 使用者和組

PHP 8 FPM 允許你為服務設定使用者和組,並在其下執行。你可以使用以下命令修改它們

sudo nano /etc/php/8.0/fpm/pool.d/www.conf

通過將 www-data 替換為使用者的 username 來更改以下幾行。

user = username

group = username

listen.owner = username

listen.group = username

點選 CTRL + X 和 Y 儲存設定,並檢查設定是否正確,並重新啟動 PHP。

重新啟動 PHP 8.0 FPM

更新 PHP FPM 設定後,需要重新啟動它以應用更改。

sudo php-fpm8.0 -t

sudo service php8.0-fpm restart

現在,已經安裝並設定了 PHP 8。

 

九、為 Apache 升級到 PHP 8

安裝 PHP 8 之後,需要升級到最新安裝的 PHP 版本。

需要禁用舊 PHP 版本並啟用新 PHP 版本 8。

sudo a2dismod php7.4

此命令將禁用 PHP 7.4 模組。

sudo a2enmod php8.0

此命令將啟用PHP 8模組。

必須要重新啟動 Apache 才能使更改生效。使用下面的命令

sudo service apache2 restart

or

sudo systemctl restart apache2

 

十、將 Nginx 升級到 PHP 8

需要在 Nginx 組態檔裡修改 PHP-FPM 的版本,在 Nginx 安裝目錄下的 sites-available 檔案中找到對應的組態檔,組態檔中 location 塊下面的 location ~ \.php$ 裡的內容就是對  PHP 相關的設定

sudo nano /etc/nginx/sites-available/your.conf

找到 fastcgi_pass 設定項,一般長這樣

fastcgi_pass unix:/run/php/php7.4-fpm.sock;

然後需要將舊版本替換為新版本,修改成下面的樣子

fastcgi_pass unix:/run/php/php8.0-fpm.sock;

測試你的組態檔,並重新啟動 Nginx

sudo nginx -t

sudo service nginx restart

or

sudo systemctl restart nginx

 

 

補充與注意事項:

1. Ubuntu 系統上需安裝好 python-software-properties 套件

#由於要使用到第三方的 PPA 儲存庫,因此Ubuntu系統上需安裝好 python-software-properties 套件

sudo apt-get install python-software-properties

#若出現『Package python-software-properties is not available, but is referred to by another package.』訊息,須安裝『software-properties-common』來替代『python-software-properties』。

sudo apt-get install software-properties-common

#因為需要在 Ubuntu 系統上安裝最新版本的 PHP,所以就需要使用到第三方的 PPA 儲存庫:

sudo add-apt-repository ppa:ondrej/php

#中途會遇到再次確認訊息:

LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php

More info: https://launchpad.net/~ondrej/+archive/ubuntu/php

Press [ENTER] to continue or Ctrl-c to cancel adding it.

按鍵盤的『Enter』以繼續。

#更新套件清單

sudo apt-get update

 

2. 未來升級時提示過期金鑰的處理方法

#刪除系統提示的過期金鑰。

sudo apt-key del B188E2B695BD4743

#重新加入 packages.sury.org 的 GPG key。

sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg

 

 

 

免責聲明:

1.本影像檔案皆從網上搜集轉載,不承擔任何技術及版權問題。

2.如有下載連結僅供寬頻測試研究用途,請下載後在24小時內刪除,請勿用於商業。

3.若侵犯了您的合法權益,請來信通知我們,我們會及時刪除,給您帶來的不便,深表歉意。



發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *