開始
透過執行以下命令,確保你的 Ubuntu 伺服器具有最新的軟體包。
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 了。
為 Apache 安裝 PHP 8
執行以下命令以安裝 PHP 8
sudo apt install php8.0
安裝完成後,可以使用以下命令確認安裝
php -v
為 Nginx 安裝 PHP 8 FPM
對於 Nginx,你需要安裝 FPM,執行以下命令以安裝 PHP 8 FPM
sudo apt install php8.0-fpm
安裝完成後,請使用以下命令確認 PHP 8 FPM 已正確安裝
php-fpm8.0 -v
安裝 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 才能使更改生效。
為 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
配置 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
重啟 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
將 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