XDebug 自動開啟PHP Stack Trace, 導致PHP Log 超1G

來源:互聯網
上載者:User

標籤:des   class   code   http   檔案   c   

昨天早上突然發現測試伺服器空間滿了,用du挨個檔案夾查看,發現是php debug log佔地極大,有的log直接有1G,開啟後發現極其多的php stack trace.

立刻到主伺服器查看,主伺服器日誌也400多M的日誌,幸好主伺服器空間足夠。

 

那麼多stack trace,可以肯定之前是沒有的,挨個查看日誌,是某一天早上一個時刻發生的。

解決方案:

1. 難道是之前升級php導致,到網上搜尋php stack trace,所有的都是顯示如何開啟,卻沒有如何關閉的。仔細尋找php的參數,只找到ignore_repeated_sources和ignore_repeated_error這兩個看似有關的東西,更改後也不頂用。

2. 如果不是升級php所致,再仔細想這幾天做了什麼 改動,哪些是和php trace有關的,想起xdebug. ,先嘗試把xdebug刪除,OK,問題消失了。肯定是xdebug的問題了,開始的時候沒有直接找xdebug的官方文檔,利用phpinfo把xdebug所有的參數都打出來,先猜是哪個參數,試了幾個都不頂用, 後來才靜下心來看看xdebug的官方文檔吧,發現了如下話語:

 Stack Traces

When Xdebug is activated it will show a stack trace whenever PHP decides to show a notice, warning, error etc. The information that stack traces display, and the way how they are presented, can be configured to suit your needs.

有戲,再繼續找,發現了一個名稱和用途你如何也聯絡不上的變數"xdebug.default_enable",還真就是這個參數來控制了,如下。

xdebug.default_enable

Type: boolean, Default value: 1

If this setting is 1, then stacktraces will be shown by default on an error event. You can disable showing stacktraces from your code withxdebug_disable(). As this is one of the basic functions of Xdebug, it is advisable to leave this setting set to 1. 這個問題幾乎折騰一天,心得:碰到意外問題時要冷靜,雖然影響了多原有計劃,但如果問題是嚴重的問題就一定要排除萬難先解決了再說,不然會形成習慣。另外,使用一些現成功能模組時,在在最衩進行搜尋無果後,得靜下心來仔細閱讀官方文檔。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.