老法师谈技术 - PHP远程单步调试

2016-11-19  本文已影响0人  xcity

老法师谈技术 - �PHP单步调试方法(xdebug)

在production环境上面使用单步调试的机会其实不多,但是不妨碍在代码编写阶段,或者代码阅读阶段,单步调试重要性,有时候单步调试一段代码比单纯阅读要效率高很多。

借助于xdebug的库,PHP的单步调试能力非常强大,而且并不依赖于具体客户端,也就是说,无论你是使用PHPStorm或者是Sublime,还是VIM都可以调试PHP程序。鉴于PHP程序都是部署在服务器端,我们这里只讨论remote调试方法。

远程(Remote)调试服务器端PHP程序需要考虑到下面几个方面:

无论你是使用何种客户端,都需要考虑上面的三个方面,好下面开始正式的配置信息。

  1. 服务器端的xdebug配置

    首先需要安装xdebug,这里就不展开了,不同的系统安装方法略有不同。其次,配置xdebug,以ubuntu为例配置文件在(/etc/php7/mods-available/xdebug.ini)

    end_extension = "xdebug.so"
    xdebug.remote_autostart = 1
    xdebug.remote_enable = 1
    xdebug.remote_connect_back = 0
    xdebug.idekey=PHPSTORM
    xdebug.remote_handler = "dbgp"
    xdebug.remote_host = 10.0.1.4
    xdebug.remote_port = 9000
    xdebug.remote_log = "/tmp/xdebug/xdebug_remote.log"
    

    idekey是客户端用来认证xdebug发送过来的信息,所以确保两边配置的要完全一致。remote_host需要填写的是xdebug服务器的地址,在这里也就是你的PC机的地址。remote_log非常有用,发现远程调试不工作的时候,log会告诉你那里出了错。

  2. 客户端xdebug配置

    Sublime是常用的PHP编辑器,以Sublime举例来说,需要首先安装xdebug插件,最简单的办法就是使用Package Control,具体如何安装这里就不多说了,跟任何其他插件的安装没有任何区别。Sublime的xdebug的配置信息如下:

    {
        "path_mapping": {
            "/WeCenter/" : "/Users/aaa/Mydoc/Code/WeCenter/v319/wecenter-master/"
        },
        "url": "http://192.168.1.24:30080",
        "ide_key": "PHPSTORM",
        "port": 9000,
    }
    

    配置非常简单,唯一要注意的是path mapping,如果设置错误,中断的同时不能定位到具体的代码。点击Tools\xDebug\Start Debugging之后,在浏览器里面刷新页面的时候,应该可以看到如下界面:


    Sublime-xdebug.png

PHPStorm是另外一个广泛使用的PHP开发工具,其配置都是以图形界面的方式进行,我们下面开始一步步的配置:

在Preference\Languages & Frameworks\PHP\Servers:

PhpStorm1.png

在Preference\Languages & Frameworks\PHP\Debug\DBGp Proxy:


ps-2.png

在Preference\Languages & Frameworks\PHP\Debug:


PhpStorm3.png

在Run\Edit Configurations\Defaults\PHP Remote Debug:


PhpStrom4.png

在上述配置都完成了之后,点击Run\Start Listening on PHP Debug Connecting按钮就可以进行单步调试了。


PhpStorm5.png
上一篇 下一篇

猜你喜欢

热点阅读