今天用了很長的時間來研究和配置xdebug,網上隻言片語說了好多關於安裝和配置的文章,但是沒有任何一個能夠全面介紹,導致我遇到的問題都無法解決,最後終於在一位非常不錯的朋友的幫助下,解決了問題,現就我在安裝和配置xdebug的過程中遇到的問題以及解決方案進行簡單整理。
xdebug是開發php過程中非常有價值的工具,它重新改寫了var_dump等方法,使得在屏幕上顯示的信息更加有層次化,在開發過程中發生的錯誤也會以更加合理的方式展示給開發者,能夠使我們非常快速地定位bug。
個人在做php開發的過程中,通常喜歡使用的服務器是lighttpd,本文將以lighttpd服務器爲基礎進行說明,當然apache的解決方法也是一樣的。
使用命令sudo apt-get install php5-xdebug進行安裝xdebug,然後重新啓動服務器。這時候在phpinfo()顯示的服務器信息時會顯示出xdebug的相關信息,這說明xdebug順利安裝成功。
但是在我安裝完成之後,意外地發現錯誤顯示在同一行,只不過是添加了一些錯誤堆棧信息,效果如圖所示:
後來意識到是在php錯誤顯示的配置中有問題,需要配置html_error這一項。在lighttpd的文件夾中php.ini有兩個,一個是cgi目錄下,一個是cli目錄下。其中cli目錄是命令行模式的,cgi是web server模式的,所以需要修改的是cgi目錄中的php.ini文件。在這個文件中,最好進行修改的項目是:
error_reporting = E_ALL & ~E_NOTICE
display_errors = On
display_startup_errors = On
html_errors = On
此時重啓lighttpd服務器,然後刷新界面,配置成功顯示效果如圖所示: