2015-09-22 32 views
0

dev的環境在在2份分割的錯誤消息中的鏈接:如何重寫在PHP

  1. 的IDE +源極(兩對developper膝上型)
  2. 遠程服務器,其中代碼被執行。

的2個environnements有文件的不同的樹結構。因此,php錯誤消息(致命,警告,通知等)上顯示的URL匹配服務器,但不匹配筆記本電腦。

有沒有辦法在PHP的錯誤信息中重寫鏈接(替換根目錄)? (這將允許直接從一個錯誤消息瀏覽到正確的文件的筆記本電腦。)在一些PHP錯誤消息重寫鏈路的

實施例:

原件是/var/www/library/form/detail.php(匹配服務器)

期望是/home/project/www/library/form/detail.php(匹配的便攜式計算機)

注:

  • 重寫規則是固定的:/var/... =>/home/project/...
  • 這是僅對於dev的 ENVIRONNEMENT。
+0

hm http://stackoverflow.com/questions/32722850/rewrite-the-path-of-the-php-error-messages –

+0

@KarolyHorvath請記住,您的聲譽允許您查看用戶已刪除的問題。我無法查看這個鏈接,所以Toto肯定不會能夠 –

+0

我以前的問題變成了同質/異構的環境辯論... – Toto

回答

1

把這個在你的代碼的開始:

ob_start(function($c) { 
    return str_replace("/var/www/","/home/project/www/",$c); 
}); 

這將導致/var/www/任何實例在輸出與/home/project/www/更換。這對於開發目的應該沒問題。

在實際部署時,你必須正確的錯誤處理,無論如何,在那你可以通過一個適當的錯誤處理系統,該系統可包括上述更換登錄自己的錯誤。

+0

有趣!令人沮喪的是,我們可以設置文檔的根目錄,而不是錯誤消息中的文件鏈接。 http://php.net/manual/en/errorfunc.configuration.php#ini.docref-root – Toto