1. 恐怖的 500 Error 錯誤畫面
租用Linux虛擬主機建立架設一個PHP網站,基本需要二項元素:虛擬主機和網址,而這二元素都已具備後,將網站檔案程式上傳至主機空間,DNS的設定解析也已完成,滿心期待地在瀏覽器輸入網址,結果看到的卻是「500 Internal Server Error (內部伺服器錯誤)」的冰冷畫面?
500 錯誤是一個非常籠統的 HTTP 狀態碼,它只告訴我們「伺服器在嘗試執行您的請求時遇到了未知的錯誤」,但並沒有說明錯誤的具體原因。這就像醫生只告訴您「您生病了」,卻沒說是什麼病。
對於使用 cPanel 主機的 PHP 網站(特別是 WordPress)來說,這個錯誤通常與程式碼或設定檔有關。本篇教學將帶您一一排查導致 500 錯誤的最常見原因,並提供在 cPanel 環境下的具體解決步驟。
2. 連結 PHP 網站出現 500 Error 的三大常見原因
連結PHP網站出現500 Error的常見原因
在 cPanel 環境中,造成 PHP 網站 500 錯誤的元兇,90% 以上都來自以下三個問題:
1. .htaccess文件中的錯誤配置
這是最常見的原因。.htaccess 是 Apache 伺服器的設定檔,用來控制網址轉址、快取等規則。只要裡面多了一個錯誤字元或一行錯誤語法,伺服器就無法正確解析,導致 500 錯誤。
2. 權限問題
Linux 系統非常重視權限。如果您的 PHP 腳本或資料夾權限設定錯誤(例如設為 777),伺服器出於安全考量可能會拒絕執行它,從而引發 500 錯誤。
3. 應用程序錯誤
您的網站程式(例如 WordPress 的某個外掛或佈景主題)中存在致命的 PHP 語法錯誤 (Fatal Error),導致程式在執行到一半時崩潰。
3. 如何修復 500 Error?cPanel 錯誤排除步驟
連結PHP網站出現500 Error,常見原因的解決方法
我們將依照上述三個最可能的原因,逐一進行排查。
3.1. 解決方法一:檢查 .htaccess 檔案
當連結PHP網站出現500 Error時,您可以試著先將.htaccess檔案更名,更名後連結網頁即可正常瀏覽時,這說明了您的.htaccess檔案有問題,這就會需要請您的程式人員確認.htaccess文件中有沒有語法錯誤或不正確的配置而造成500 Error的問題。
如何找到 .htaccess檔 ?
這是最快速的檢測方法:
- 登入 cPanel,進入「檔案管理員」。
- 點擊右上角「設定」,勾選「顯示隱藏檔案 (dotfiles)」。
- 進入網站根目錄 `public_html`。
- 找到 `.htaccess` 檔案,在它上面按右鍵,選擇「Rename (重新命名)」。
- 將它改名為 `.htaccess_backup` 或 `.htaccess.old`。
- 立即重新整理您出現 500 錯誤的網站頁面。
結果判斷:
- 如果 500 錯誤消失了(網站變為正常,或變成 404/403 錯誤),那就 100% 確定是 `.htaccess` 檔案內的語法有問題。請您的程式人員檢查該檔案的內容。
- (WordPress 使用者) 如果 500 錯誤消失,請登入 WordPress 後台,到「設定」>「固定網址」,點擊「儲存設定」兩次,WordPress 就會自動生成一份乾淨的 `.htaccess` 檔案。
3.2. 解決方法二:檢查檔案與目錄權限
檢查文件和目錄權限,確保 web 伺服器對應的文件和目錄有正確的讀取和執行權限;不正確的檔案權限也可能導致 500 錯誤。伺服器出於安全考量,會拒絕執行權限過高(例如 777)的檔案。
檔案權限請可參考此文章:https://wpoki.com/?p=5997
3.3. 解決方法三:檢查 PHP 錯誤日誌 (error_log)
如果前兩個方法都無效,那問題很可能出在 PHP 程式碼本身,這時 `error_log` 檔案就是您的破案關鍵。當程式有BUG在連結網頁時易有錯誤產生,而程式的error log可由Cpanel控制台裡去查看。
請登入Cpanel-檔案管理-Public_html下查看error_log;若程式是放於public_html下的某一資料夾時,則需至該資料夾下查看error_log喔。error_log是程式BUG的提醒,提供了有關哪些程式而導致錯誤和其原因的訊息;錯誤訊息通常會明確指出是哪個檔案(例如某個外掛 `wp-content/plugins/some-plugin/plugin.php`)的第幾行發生了「PHP Fatal error」。將這條錯誤訊息提供給您的程式開發人員,他們就能快速定位並修復程式碼的 Bug。
如何查看erro_log或相關log請可參考以下文章
https://wpoki.com/cpanel控制台上如何查詢主機的相關log檔案並下載/
4. 如果以上方法都無效,該怎麼辦?
連結PHP網站出現500 Error, 確認解決常見原因無果後該怎麼辦?
連結PHP網頁時,畫面呈現了500 Error內部服務器錯誤,確認及操作.htaccess文件、檔案權限及應用程式Error_log的解決方法後,連結網頁依然呈現500 Error畫面,這可能代表問題出在更深層的伺服器設定或資源限制上(例如:PHP 記憶體不足、CGI 執行超時等)。
這時,請不要再獨自奮鬥。立即聯繫您的主機供應商,並清楚地告知他們:
- 您看到的錯誤訊息 (500 Error)。
- 您已經嘗試過的排除步驟(例如:已重新命名 `.htaccess`、已檢查過權限)。
- 您在 `error_log` 中看到的最新錯誤訊息(如果有的話)。
提供這些資訊,能幫助主機商的技術支援團隊更快地為您診斷並解決問題。
5. 常見問題 (FAQ)
Q1:為什麼我一更新 WordPress 外掛,網站就出現 500 錯誤?
這通常代表新更新的外掛與您目前的 WordPress 版本、PHP 版本或其他外掛不相容,導致了 PHP 致命錯誤。最快的解決方法是登入 cPanel 檔案管理員,進入 `wp-content/plugins/` 目錄,找到剛才更新的那個外掛資料夾,並將其「重新命名」(例如在後面加上 `_old`)。這會強制停用該外掛,讓您的網站恢復正常。之後,您應檢查 `error_log` 檔案,並將錯誤訊息回報給外掛開發者。
Q2:我的 .htaccess 檔案是空白的,這樣正常嗎?
對於一個全新的 cPanel 帳戶或純 HTML 網站來說,`.htaccess` 檔案是空白的,甚至是預設不存在的,這完全正常。但如果您安裝了像 WordPress 這樣的 CMS 系統,它通常會自動生成包含轉址規則的 `.htaccess` 檔案。如果您使用的是 WordPress,且此檔案是空白的,請嘗試登入後台,到「設定」>「固定網址」頁面,直接按「儲存設定」,系統就會自動重新產生正確的規則。
Q3:500 錯誤會不會影響我的網站 SEO?
會,而且影響非常嚴重! 如果 500 錯誤只是短暫發生幾分鐘,然後您立刻修復了,那影響不大。但如果錯誤持續存在數小時或數天,當 Google 爬蟲來訪時,它會發現您的網站無法存取。如果這種情況發生多次,Google 會認定您的網站不穩定、使用者體驗極差,並大幅降低您網站的搜尋排名,甚至將您的頁面從索引中移除。
Q4:我把 .htaccess 更名後,網站首頁正常了,但所有內頁都變成 404 Not Found?
這是一個非常好的跡象!這代表 500 錯誤確實是 `.htaccess` 造成的,而且您的網站(很可能是 WordPress)依賴此檔案來實現「固定網址」功能。請登入您的 WordPress 後台(`yourdomain.com/wp-admin`),前往「設定」>「固定網址」,不要做任何更改,直接點擊「儲存設定」。這個動作會讓 WordPress 自動生成一份全新的、乾淨的 `.htaccess` 檔案,您的內頁連結就會恢復正常了。
6. 延伸閱讀
CPANEL是什麼?CPANEL還有什麼功能呢?更多CPANEL教學請參考
主機空間常提到cPanel控制台,cPanel是什麼東西?
CPANEL控制台裡如何操作設定DNS指向
Linux虛擬主機在cpanel 控制台和以FTP軟體更改檔案權限
文章來源:https://wpoki.com



GIPHY App Key not set. Please check settings