本文摘自PHP中文网,作者爱喝马黛茶的安东尼,侵删。
Xdebug配置
在Web应用运行环境中,打开php.ini文件(例如你的Web程序跑在本地,就修改本地的php.ini,如果你的程序跑在内网机172.16.17.8,那你就ssh到这台机器上,修改这台机器的php.ini)。在文件尾部添加Xdebug配置:
1 2 3 4 5 6 7 |
|
用到的最多的配置就是以上几个,对于这几个的配置解释如下:
?remote_enable
决定xdebug是否开启远程调试模式,在使用Remote Debugging的时候必须打开;
?remote_host vs remote_connect_back
由于这两个配置项有紧密联系,所以放在一起讲。
(1)首先,如果你指针对单个调试用户,比如就你自己调试,你可以将remote_host设成你的Web程序运行的ip,remote_connect_back的值不设置或者设置为0(你不设置默认也是0)。这样Xdebug每次调试的时候会固定连接remote_host指定的ip;
(2)但是如果你支持的是多人调试,明显设置一个remote_host是没办法的。这个时候就可以用remote_connect_back=1来设置。当remote_connect_back设置为1的时候,xdebug会根据请求来的ip自动回连,进行调试,从而支持多人调试。同时,这个值设为1的话会使remote_host的设置无效;
(3)一般情况下,推荐使用remote_connect_back=1的配置
?remote_port
显然这是设置调试端口的,这里的端口需要与PHPStorm中配置的调试端口一致,需要注意的时候不可用和别的端口起冲突,不然会无法进入调试,我们这里设置成9001(因为fpm默认的端口是9000,为了防止冲突,这里设置成9001);
?remote_autostart
默认状态下,触发调试需要在url中增加get参数:XDEBUG_SESSION_START={xdebug.idekey},如果想自动启动调试,可以将这个值设为1,所以推荐将这个值设为1;
?idekey
可以理解为调试的令牌,需要运行Web程序的PHP中配置的令牌和PHPStorm中配置的令牌一致,才可触发调试;
相关推荐:《PhpStorm使用教程》
配置完成之后,千万不要忘记重启fpm,然后打印phpinfo(在Web程序入口处输入phpinfo();exit;然后访问Web程序,就可以查看php的配置相关信息 )查看配置是否生效;
1、查看Xdebug是否安装,以及版本信息
相关阅读 >>
如何解决phpstorm cannot find declaration to go to的问题
更多相关阅读请进入《phpstorm》频道 >>