今天用了很长的时间来研究和配置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服务器,然后刷新界面,配置成功显示效果如图所示: