开发的时候我都是使用XDebug在本地调试,但是最近加入一些项目中去,环境太复杂了,要在本地搭建一个开发环境真的太麻烦了,那么我们怎么使用xdebug来远程调试呢?
我这里使用虚拟机搭建了一个模拟环境来实验说明:
1.虚拟机IP:192.168.174.130 ,虚拟机用于搭建lampp环境
2.实体机IP:192.168.174.1,这个是IDE的开发环境。
首先我在虚拟机里面安装了一个lampp,而且增加了一vhosts,具体如下:
PHP;">
vim /opt/lampp/etc/extra/httpd-vhosts.conf
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "/data/web"
ServerName www.test.com
ErrorLog "test-error_log"
CustomLog "test-access_log" common
@H_502_14@
这里为了方便给vhosts设置一个域名,这个需要修改实体机的/etc/hosts后才能访问:
关键的一步我们需要设置虚拟机中的php.ini来支持xdebug远程调试,增加了如下代码:
最关键的两个设置xdebug.remote_host和xdebug.remote_connect_back,remote_host要设置成服务器的ip,remote_connect_back要设置成1或者on
到这里,服务端就设置好了,接下来我们来设置ide了,请原谅我是一个ide工具党。我使用的Intellij IDEA,而PHPStorm的设置也是一样的。
第一设置项目的server
在Host那里要填上,能够正常访问到虚拟机服务器的地址,我们之前设置的虚拟域名是,所以我图上也是写得这个。
最关键的设置地方就是要勾上这个路径映射,然后将需要调试的文件写上它在服务器上的路径,比如我这里需要调试a.PHP,而在虚拟机服务器上我们设置的web目录是/data/web/,那么它映射的路径就应该是/data/web/a.PHP了。
一切设置好了以后,就可以像本地调试那样开始了。