前言:為什麼我的網站需要指定 PHP 版本?
PHP 是構成動態網站(如 WordPress)的骨幹程式語言。不同的網站程式、佈景主題或外掛,都是基於特定的 PHP 版本開發的。如果您的主機環境預設的 PHP 版本,與您網站程式所要求的版本不符,輕則部分功能異常,重則可能導致整個網站顯示空白頁或嚴重錯誤。因此,能夠彈性地為網站選擇合適的 PHP 版本,是確保網站穩定運行的關鍵第一步。
幸運的是,現在許多優質的 Linux 虛擬主機商,都透過 CloudLinux 技術在 cPanel 控制台中提供了「PHP 版本任選」的功能,讓使用者可以輕鬆應對各種程式的環境需求。
PHP版本相關可參考此文章https://wpoki.com/php版本有哪些該如何查看/
認識CloudLinux(PHP版本任選也是由此來)請參考此文章https://wpoki.com/主機是用cpanel還是cloudlinux?一下是cpanel,一下又cloudlinux/
想了解PHP請參考點我了解PHP
Step 1:登入 cPanel,找到「Select PHP Version」
首先,請登入您的 Linux 虛擬主機 cPanel 控制台。在主畫面的「軟體 (Software)」區塊中,找到並點擊一個名為「Select PHP Version」的圖示。這個功能就是我們今天的主角。
登入Linux虛擬主機cPanel控制台-Select PHP Version
登入Cpanel控制台,點選軟體框中的“Select PHP Version”進入
Step 2:選擇您需要的 PHP 版本 (關鍵技巧)
進入後,您會看到當前系統預設的 PHP 版本。請點擊下拉選單,您會看到一系列可供選擇的版本號。
【關鍵技巧】請務必選擇「沒有」標示 “native” 的版本!
“native” 代表的是主機系統層級的全域預設版本。如果您選擇了這個版本,您將無法進行下一步的「擴充模組」和「php.ini 參數」的客製化設定。為了獲得最大的控制權,請務必選擇一個沒有 “native” 字樣的版本(例如:7.4, 8.0, 8.1 等)。
Step 3:啟用/停用 PHP 擴充模組 (Extensions)
選擇好一個非 “native” 的 PHP 版本後,頁面會刷新,並顯示出「Extensions」和「Options」兩個頁籤。在「Extensions」頁面,您可以看到一系列的 PHP 擴充模組列表。
【教學延伸】什麼是 PHP 擴充模組?
擴充模組 (Extensions) 就像是 PHP 的外掛程式,它們提供了額外的功能,例如圖片處理 (gd)、加密連線 (openssl)、資料庫連線 (mysqli) 等。大多數情況下,主機商提供的預設勾選項目已能滿足 WordPress 等主流程式的需求。除非您的程式設計師特別告知需要啟用或停用某個模組,否則建議維持預設即可。勾選或取消勾選後,系統會自動儲存設定。
在確認 PHP 版本無誤後,別忘了點擊「Apply」按鈕來正式套用您的版本選擇。
Step 4:客製化 php.ini 參數設定 (Options)
當您需要調整 PHP 的核心運作參數時,例如上傳檔案的大小限制、程式執行時間等,就需要進入「Options」頁籤。這裡提供了一個圖形化介面,讓您可以安全地修改一些常用的 php.ini 設定,無需手動編輯複雜的設定檔。
php.ini 常見設定項目詳解與安全建議
在「Options」中調整參數時,請務必了解每個選項的意義,錯誤的設定可能影響網站效能或帶來安全風險。
- allow_url_fopen:(高度安全風險) 允許 PHP 載入並執行遠端檔案。除非您完全確定程式需要此功能,否則應保持「關閉」,以防範遠端檔案包含 (RFI) 攻擊。
- max_execution_time:單一 PHP 腳本最長執行時間(秒)。用於防止寫得不好的程式碼造成無窮迴圈而耗盡主機資源。若您需要執行耗時較長的任務(如匯入大量資料),可適度調高此數值。
- max_input_time:接收 POST、GET 等輸入資料的最長時間(秒)。若使用者上傳檔案的網路速度較慢,可適度增加此時間。若有與虛擬主機限制衝突(如:apache timeout、資料庫timeout)時仍會中斷,再者因主機空間腳本運作的時間太長,使用者也會受到瀏覽器超時中斷而停址狀況;或是因太多的腳本同時運作造成主機資源不足,引起所有的程式都塞車又無法中斷,而讓主機空間有動彈不得的狀況。
- memory_limit:單一 PHP 腳本可使用的最大記憶體量。這不是整個網站的記憶體,而是「一個」腳本的上限。
- open_basedir:(進階安全設定) 將 PHP 的活動範圍限制在指定的目錄內,防止程式碼存取不應存取的檔案。若不熟悉,請勿修改。
- post_max_size:單次 POST 請求的總資料量上限。此值必須大於或等於 `upload_max_filesize`。
- upload_max_filesize:單一上傳檔案的大小上限。
【教學延伸】 `post_max_size` 和 `upload_max_filesize` 如何設定?
假設您想讓使用者一次最多能上傳 5 個檔案,每個檔案最大 10M。那麼您的設定應該是:
`upload_max_filesize = 10M`
`post_max_size >= 50M` (例如設定為 60M,預留一些緩衝空間),不會將2個設定均設定成50M。
同時,您可能也需要調整 `memory_limit` 至 128M 或更高,以確保 PHP 有足夠記憶體處理這些上傳的檔案。
●另有個設定-Server Timeout,這也是蠻多人在程式上會設定使用的,有些會在程式上設定Timeout時間為30秒或30秒以上,但其實這樣的設定在一般虛擬主機蠻消耗主機效能的,所以在一般虛擬主機上其主機的設定執行限制時間會為15秒,虛擬主機有這樣的限制,主要是因為分享式主機因為效能、安全性、穩定性及成本考量等等,故需有此限制。倘若Timeout的設定需超過15秒,就需要參考雲端主機
重要注意事項與常見問題 (FAQ)
cPanel控制台 PHP 版本任選 注意事項
請注意,「Select PHP Version」這項功能是針對整個 cPanel 帳戶生效。如果您在一個 cPanel 帳戶中管理多個網站(例如使用附加網域),您無法為網站 A 設定 PHP 7.4,同時為網站 B 設定 PHP 8.1。所有網站將會共用同一個 PHP 版本設定。若有此需求,您必須為不同網站購買獨立的主機帳戶。
延伸閱讀:更多 cPanel 實用教學
這提供一篇PHP程式文章,當你的PHP程式需要優化時可參考https://wpoki.com/超實用-php和mysql-程式優化相關和小建議有哪些/
關於Linux虛擬主機cPanel控制台還有什麼其它功能呢?想更了解什麼是Cpanel和更多Cpanel教學嗎?以下提供給大家更多有關Cpanel教學文章:
文章來源:https://wpoki.com
GIPHY App Key not set. Please check settings
5 Comments