首頁 >後端開發 >php教程 >使用PHP的錯誤處理_PHP教程

使用PHP的錯誤處理_PHP教程

WBOY
WBOY原創
2016-07-21 16:11:03855瀏覽


在web 上所有常見的錯誤之一就是無效的連結。一旦從其它網站上出現了無效的鏈接,你會重新安排你
的網站。人們會將他們喜歡的站點存成書籤,如果在三個月後再次訪問時,僅僅發現的是'404 Not Fount '
時,將不會給他們任務幫助,告訴他們如何從你的站點去尋找原始的資訊。讓我們解決這個問題,或至少
給你的用戶一個友善的幫助,一旦他們遇到'a 404' 錯誤時,能夠得到一些痕跡。你可以建立普通的頁面來
報告在處理你的頁面時所遇到的所有的錯誤。 PHP 與Apache一起可以很自由地讓你創建自已的出錯頁面,但是需要重新進行配置,並且要編少量的代
碼。先讓我們學習配置部分。

Apache的ErrorDocument指示用來指出在發生錯誤時Apache應重定向到哪一個文件(或URI)。它允許你
為每一個你的使用者可能遇到的錯誤代碼指定一個資源。透過在你的伺服器設定中增加一個ErrorDocument 404
/error.php指示。這將在使用者造訪一個不存在的頁面時,重定向到'error.php'中,下面我們就會寫出
'error.php'頁面。不要忘了重新啟動Apache以使改動生效。

接著,我們寫出一個簡單的error.php:



你所要求的檔案(=$REDIRECT_URL?>) 在這個伺服器上不存在。
請尋找你想要的文件從 前頁

現在試著讀取一個在你伺服器上不存在的頁面,怎麼樣,你可以看到error.php了,它有著一個良好和
友好的消息,並且還有一個到前頁的連結。

讓我們把它擴充一下。如你所見,我在error.php中使用了REDIRECT_URL變數。這個變數是Apache在
執行了一個ErrorDocument指示時所設定的,並且給了一個可能來找到原始的資源。在這種情況下,Apache
也設定了一些別的變量,所有的變數都可以在這裡找到。使用這些變數可能會建立一個很好的出錯頁面,用於給
使用者一個不錯與友善的出錯頁面,而取代Apache給出的預設頁面。

從PHP頁面中輸出錯誤
從一個PHP頁面輸出錯誤與模擬Apache對ErrorDocument指示所做的很像,你只要簡單地將用戶重定向,
透過使用query-string變量,而Apache則通常是設定在環境變數裡面。這樣就可以用同一個出錯頁面來處
理各種錯誤。下面是一個例子:

--------------------------------------- -------------------------------

function throw_error($message) {
$error_page = "/err/error.php";

$error_url = $error_page;
$error_url .= "?REDIRECT_ERROR_NOTES=$message";
$error_ ECT_ERROR_NOTES=$message";
$error_ >. &REDIRECT_URL=" . $GLOBALS["PHP_SELF"];
$error_url .= "&REDIRECT_REQUEST_METHOD=$REQUEST_METHOD";
$error_url .= "&REDIRECT_STATUS=501"
$error_url .= "&REDIRECT_STATUS=501"; ;
Header("Location: $error_url");
exit;
}

ob_start();
// 使用輸出緩衝以便在這頁中的任何地方輸出錯誤

if(!condition) {
throw_error("the condition failed");
}

ob_end_flush();
// 頁面處理完畢,刷新輸出緩衝

?>----------------------------------------- -------------------------
使用PHP4的輸出緩衝特性對產生一般的出錯報告功能也會有幫助。但在你確認整個出錯頁面處理完畢
時,不要忘記刷新緩衝區,你可以在你的程式碼中的任可地方透過Header呼叫來進行重定向。

讀者可以自行設計,實現自已的出錯頁面來適應他/她的網站。不要忘了,你可以包含一個帶有email的提

交表單在出錯頁面中,這樣用戶可以回饋給你一些意見。

http://www.bkjia.com/PHPjc/314018.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/314018.htmlTechArticle在web 上所有常見的錯誤之一就是無效的連結。一旦從其它網站上出現了無效的鏈接,你會重新安排你 的網站。人們會將自己喜歡的站點存...
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn