2009-06-08 27 views
1

我有一個相當通用的PHP庫,我想用於幾個不同的站點。圖書館提供一些內容,但也檢測錯誤情況,這是我的問題開始的地方。爲了避免冗餘配置,我一直試圖讓服務器(或者實際上一直在搜索文檔..)提供它配置的任何錯誤頁面,但一直沒有能夠提出一個單一的提示任何方向(可能或不可能)。不過,我可能沒有正確管理我的搜索字詞。重定向到主機的錯誤頁面

基本上是:

  1. 是否有可能重定向到從PHP腳本當前主機的默認錯誤頁?
  2. 如果不是一般情況下,是否可以在Apache中使用mod_php?
  3. 如果沒有,有沒有人有另一個建議,如何解決這個問題? :)

我無法訪問此特定配置(至少,並非在所有服務器上),因此冗餘配置在任何情況下都是不可能的。

謝謝!

回答

2

好吧喬丹是對的,你的圖書館應該拋出異常。 但是在使用它的代碼中,你可以做一些想法。所有有點hacky。

404 
header("Location: /some/nonexistantpath/you_want_to_show_the_user"); 

500 
header("Location: /some/path/that/exists/and/has/a/php/error.php"); 

或者你可以做一個Apache子請求,如果你不希望路徑來改變用戶:

Virtual("..."); // see 500 and 404 notes above. 
+0

我根本不知道虛擬命令存在。好決定! – Matt 2009-06-08 19:18:56

0

說實話,假設這是PHP5,我甚至不會嘗試重定向到錯誤頁面。如果您正在開發一個庫,並且遇到錯誤情況,請拋出一個Exception

這樣做可以讓任何人消耗你的庫來處理錯誤情況,無論是記錄日誌,顯示錯誤還是嚴重崩潰。