部署僅支援 PHP 7.4 的系統時,環境版本一定要先確認好,別看到 PHP 能跑就直接安裝。這類自助下單系統通常同時依賴 Nginx、MySQL 與 Redis;其中 PHP 版本不對,最常見的狀況就是安裝頁空白、提示擴充缺失,或進入後台後訂單同步異常。PHP 7.4 已在 2022 年 11 月結束官方安全維護,因此建議只用於隔離良好、定期備份的業務環境,不要把管理後台完全暴露在公開網路上。
PHP 7.4 部署前的環境準備
以 Linux 伺服器為例,較穩妥的組合是 Nginx 1.20 以上、MySQL 5.7 或 8.0、PHP 7.4 與 Redis。若使用寶塔面板,可直接在軟體商店安裝 PHP 7.4;手動部署則要注意系統套件來源,較新的 Ubuntu 或 Debian 預設倉庫未必仍保留 7.4。
PHP 擴充不能省,至少應確認下列模組已啟用:
pdo_mysql:連接 MySQL 資料庫curl:支付介面、雲端同步常會用到mbstring:處理中文與多位元字元gd:站點圖示或圖片處理zip、openssl、fileinforedis:若系統啟用快取、佇列或登入狀態管理
可透過 php -m 查看模組清單。很多人卡在安裝步驟,其實不是程式壞掉,而是少裝了 fileinfo 或 pdo_mysql,這種問題很常見。
網站目錄與 Nginx 設定重點
解壓縮程式後,網站根目錄應指向系統指定的公開入口資料夾;如果壓縮包沒有區分 public 目錄,才直接指向程式根目錄。目錄權限通常設為網站使用者可讀寫即可,例如快取、上傳、設定檔目錄需要寫入權限,別一股腦設成 777,方便是方便,風險也跟著放大。
Nginx 的 PHP 設定要把請求正確轉交給 PHP-FPM 7.4。部署完成後,建議先建立一個簡單的 phpinfo() 測試頁,確認畫面顯示的是 PHP 7.4.x,而不是伺服器內另一個 PHP 8.x。面板環境尤其容易出現「命令列是 7.4、網站實際跑 8.1」的尷尬情況。
安裝後別急著上線
資料庫建立後,依壓縮包內的安裝說明匯入 SQL 或透過網頁安裝。完成後立即刪除安裝目錄、修改預設管理員密碼,並關閉不需要的除錯模式。若系統有自動同步、站點監控或客服工作台,還要檢查 Cron 定時任務是否正常執行。
最後提醒一句:來源不明的程式包,即使宣稱無後門,也應先在測試站掃描檔案、核對核心檔案雜湊,再正式部署。PHP 7.4 能跑不代表環境就安全,備份資料庫與網站檔案,才是站長真正的底氣。

評論(15)
現在還用 7.4 的專案真的不少,這篇來得剛好。
寶塔面板裝 7.4 確實方便,但要注意命令列版本跟網站運行版本不一致的問題。
fileinfo 這個擴充超常漏裝,之前卡了半天就是因為它。
隔離環境定期備份這點很重要,畢竟已經停止官方維護了。
想問一下,如果伺服器已經是 Ubuntu 22.04,要怎麼比較穩妥地安裝 7.4?
權限設成 777 真的很容易出事,看過太多站因為這樣被掛馬。
Redis 配置那邊如果沒弄好,訂單同步延遲真的很頭痛。
刪除安裝目錄這步驟千萬別忘,預設密碼也一定要改。
來源不明的程式包真的要小心,先丟到測試站跑一陣子比較安心。
Nginx 轉發給 PHP-FPM 的設定每次都要對好久,怕配錯版本。
pdo_mysql 和 curl 這兩個基本上是標配,少一個都跑不動。
Cron 定時任務經常被忽略,結果監控數據都沒更新。
phpinfo() 測試頁是個好習慣,能避免很多莫名其妙的版本衝突。
雖然 7.4 老了,但有些老系統遷移成本太高,只能硬著頭皮維護。
備份才是底氣這句話太真實了,手滑一次可能就沒救了。