PHP - 如何使用XDEBUG来远程调试?

开发的时候我都是使用XDebug在本地调试,可是最近加入一些项目中去,环境太复杂了,要在本地搭建一个开发环境真的太麻烦了,那么咱们怎么使用xdebug来远程调试呢?php

我这里使用虚拟机搭建了一个模拟环境来实验说明:web

1.虚拟机IP:192.168.174.130 ,虚拟机用于搭建lampp环境vim

2.实体机IP:192.168.174.1,这个是IDE的开发环境。服务器

首先我在虚拟机里面安装了一个lampp,并且增长了一vhosts,具体以下:ide

vim /opt/lampp/etc/extra/httpd-vhosts.conf

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "/data/web"
        <Directory "/data/web">
                Options All
                AllowOverride All
                Require all granted
        </Directory>
    ServerName www.test.com
    ErrorLog "test-error_log"
    CustomLog "test-access_log" common
</VirtualHost>

这里为了方便给vhosts设置一个域名,这个须要修改实体机的/etc/hosts后才能访问:工具

192.168.174.130    www.test.comui

关键的一步咱们须要设置虚拟机中的php.ini来支持xdebug远程调试,增长了以下代码:spa

vim /opt/lampp/etc/php.ini

zend_extension="/opt/lampp/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so"
[xdebug]
xdebug.default_enable=1
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_host=192.168.174.130
xdebug.remote_port=9000
xdebug.remote_connect_back=1
xdebug.remote_autostart=1

最关键的两个设置xdebug.remote_hostxdebug.remote_connect_back,remote_host要设置成服务器的ip,remote_connect_back要设置成1或者ondebug

到这里,服务端就设置好了,接下来咱们来设置ide了,请原谅我是一个ide工具党。我使用的Intellij IDEA,而PHPStorm的设置也是同样的。调试

第一设置项目的server

在Host那里要填上,可以正常访问到虚拟机服务器的地址,咱们以前设置的虚拟域名是www.test.com,因此我图上也是写得这个。

最关键的设置地方就是要勾上这个路径映射,而后将须要调试的文件写上它在服务器上的路径,好比我这里须要调试a.php,而在虚拟机服务器上咱们设置的web目录是/data/web/,那么它映射的路径就应该是/data/web/a.php了。

一切设置好了之后,就能够像本地调试那样开始了。

OK了,没有什么技术含量,但但愿能帮到须要的朋友,注意把文章中得ip地址,修改你本身的服务器的地址。

相关文章
相关标签/搜索