国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

使用PHP的錯誤處理

2019-09-08 23:11:04
字體:
來源:轉載
供稿:網友
在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?>) 在這個服務器上不存在。
請查找你想要的文件從 <A HREF="/">前頁</A>。

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

  讓我們把它擴展一下。正如你所見,我在error.php中使用了REDIRECT_URL變量。這個變量是Apache在
執行了一個ErrorDocument指示時所設置的,并且給出了一種可能來找到原始的資源。在這種情況下,Apache
還設置了一些別的變量,所有的變量可以在這里找到。使用這些變量可能創建一個很好的出錯頁面,用于給
用戶一個不錯與友好的出錯頁面,而代替Apache給出的缺省頁面。

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

----------------------------------------------------------------------
<?php

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

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

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

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

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

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

  讀者可以自行設計,實現自已的出錯頁面來適應他/她的站點。不要忘了,你可以包含一個帶email的提
交表單在出錯頁面中,這樣用戶可以反饋給你一些意見。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大洼县| 交城县| 张家港市| 澜沧| 潮州市| 浦东新区| 即墨市| 松潘县| 东乡族自治县| 乾安县| 万年县| 扎赉特旗| 同江市| 门源| 龙门县| 张家川| 天峻县| 西安市| 双柏县| 紫阳县| 营山县| 彰化市| 永福县| 察哈| 泗水县| 汽车| 百色市| 全椒县| 鲜城| 遵义市| 东乌珠穆沁旗| 东乌| 嘉峪关市| 乌拉特后旗| 牟定县| 汉沽区| 炉霍县| 张家港市| 青浦区| 筠连县| 铜川市|