PHP作为web领域的佼佼者也有其不方便的地方。对于Java来说,我们都知道可以直接通过Myeclipse等IDE直接打断点进行调试。但是对于PHP来说,就不是那么简单了。当然也有它自己的方法,那就是借助于xdebug。
当然了,要想使用xdebug,那必须是我们的PHP支持xdebug。关于如何配置xdebug,大家可以参考《Centos下PHP配置xdebug》这篇文章。
下面我们主要来说一下如何配置远程调试。
默认情况下我们查看PHP中xdebug的信息如下
我们看到,远程调试xdebug.remote_enable是关闭的。并且远程主机的地址xdebug.remote_host为localhost,端口xdebug.remote_port为9000。
要想开启远程调试,最主要的就是这三项。
下面是我们的环境信息
PHP项目所在服务器:192.168.5.201
本机地址(PHP IDE所在主机地址):192.168.5.188
整个远程调试的过程如下
好,了解了这个过程,下面我们开始配置
php.ini中xdebug的配置
上面我们提到过,要想使用xdebug远程调试必须先开启xdebug.remote_enable。然后在配置主机地址和端口。现在我们在php.ini中添加如下内容
[xdebug]
xdebug.remote_enable=0
xdebug.remote_host=192.168.18.188
xdebug.remote_port=9000
保存退出,然后重启fpm服务。再次是用phpinfo()查看xdebug信息,如下
我们看到,远程调试已经开启,并且地址已经是IDE所在主机地址,端口也是我们设置的端口(当然这个端口默认就是9000,我们可以根据需要自行更换)。
到这,服务器端已经配置完毕,下面开始对我们IDE进行配置。本篇我们使用的是Zend studio,所以我们对它的配置进行简单的介绍。
Zend Studio的配置
首先打开window-preferences-PHP-Servers
然后新建一个Server。点击新建以后选择最后一项Generic PHP Server
然后填写相应的信息
点击下一步,然后我们选择调试器为XDebug,端口就说我们xdebug.remote_port设定的端口9000。
设置完成点击下一步
然后我么对服务器上的PHP项目和本地的项目做一个映射。正确填写以后,点击OK完成。
Server创建完成以后,我们需要在PHP下的Debug选项卡下选择我们刚创建的Server
完成以后,我们整个的远程调试的环境就已经搭建起来了。
当然了,要想使用远程调试,对我们的URL还是有点要求的。这就需要在我们的URL后面加上XDEBUG_SESSION_START=1,示例如下
http://192.168.5.201/index.php? XDEBUG_SESSION_START=1
这样才能进行远程断点调试。
好了,整个远程调试的环境就已经搭建起来了。关于xdebug调试的具体内容大家可以查看xdebug官方文档。
希望本文对大家有所帮助。