phpstrom配置xdebug
phpstrom配置xdebug
步骤
- 为你的PHP版本找到合适的xdebug.dll文件 (两种方法)
- 通过xdebug网站分析
- 手动分析
- 配置php.ini文件
- 配置phpstorm (两步)
- 全局配置
- 为单个项目配置
为PHP版本找到合适的xdebug.dll文件
有两方法,一种是复制PHP的phpinfo()信息到xdebug网站上,让网站给出版本建议,这种办法也不是万能的当xdebug官网分析不出来的时候就需要我们自己分析找出合适的版本了。
方法一:通过xdebug网站分析
1):以Windows下phpstudy集成环境php7.0.12Nts为例,先查看phpinfo信息
2):打开phpinfo页面后右键查看页面源码,并将页面源码复制到xdebug的分析页面上,然后点击页面的Analyse my phpinfo() outpu进行分析,有的php版本会给出合适的xdebug版本推荐,而有些版本却给不出合适的版本。这时候就需要我们自己手动找了。
方法二:手动分析
1):以Windows下phpstudy集成环境php7.0.12Nts为例,先查看phpinfo信息,确定几个参数。php的version、Compiler、Architecture、PHP Extension Build四点,后面需要根据这四点去找xdebug文件,我的php version是7.0.12 、Compiler是MSVC14、Architecture是x86、PHP Extension Build是API20151012,NTS,VC14即线程不安全的都可以从phpinfo()页面看出来。
2):确定了这四个信息后就可以去xdbug下载页面下载了,一般会有三个版本alpha、beta、RC[num]和没有后缀的,分别对应着内测版、测试版、候选版,和发行版,优先选择候选版或以上的版本。
3):根据1)里面得到的信息就可以很轻松的找到相应的xdebug文件。
配置php.ini文件
下载完xdebug后就该配置php.ini文件了。这里的xdebug.remote_host参数很容易弄混淆,remote是相对于web服务器而言的,php.ini文件也是修改web服务器的配置文件。我们开发的时候都是本地开发本地测试,所以填127.0.0.1就可以了,如果是调试已经上线的项目时需要在内网电脑上开内网穿透,并把服务器上的php.ini文件中的xdebug.remote_host值改成穿透后的IP。切记你在那台电脑上进行调试(测试)web服务这个操作就填那台电脑的ip这个尤为重要,配置完成后重启php服务并查看phpinfo如果能够找到xdebug扩展信息则表示配置成功。
[XDebug];下面几项都是必填的
zend_extension="F:\phpStudy\PHPTutorial\php\php-7.0.12-nts\ext\php_xdebug-2.6.1-7.0-vc14-nts.dll" ;xdebug.dll的路径
xdebug.remote_enable = ON ;开启远程debug
xdebug.remote_port = 9001 ;监听的端口
xdebug.remote_host = '127.0.0.1' ;远程服务器host,这里的远程的相对于你的web服务而言的(你的web服务是"本地",进行调试操作的电脑是"远程")
xdebug.profiler_output_dir="F:\phpStudy\PHPTutorial\tmp\xdebug"
xdebug.trace_output_dir="F:\phpStudy\PHPTutorial\tmp\xdebug"
xdebug.idekey="PHPSTORM" ;调试器的关键字
xdebug.remote_cookie_expire_time=86400 ;XDEBUG_SESSION_START的有效时长(默认为1小时)
配置phpstorm
全局配置
1):File>Other Settings>Setting for New Peojects 全局设置xdebug的监听端口,一定不要设置成9000,因为我们通常是本地开发本地测试,而9000已经被fastcgi占用了会导致debug启动失败,Dbpg proxy可以不配,在配置完全局配置后还要为单个项目进行配置。
为单个项目配置
1):为web项目配置debug,用phpstorm打开项目代码后点击Add Configuration>Add New Configuration然后选择Php web Page或者php remote Debug这里以使用php web page为例。
2):配置web服务信息,name随便建议使用项目名,host使用web服务的nginx中配置的servername,配置完毕后点击应用即可。
3):添加debug configuration后debug时会自动打开host+start url页面如http://tp5.com/,所以请确保2)中的host完整无误否则会debug失败。
4):最终效果。