配置环境
chrome
phpstudy 8.0.9.3
- 此法只适合文件在网站根目录,因此需要自己配置添加网站,将要调试的项目放在此目录
- php 7.3.4
phpstorm2019
浏览器chrome配置
下载 Xdebug-helper
phpstudy
在此版本phpstudy中,只有php7.3.4中有php_xdebug扩展.开启此扩展。
找到对应php.ini文件。
重要:搜索文件找到开启的extension项:
extension:php_xdebug用;注释掉。因为phpstudy开启这个扩展,但需要的是zend_extension以下内容添加到php.ini尾部
1zend_extension=xdebug2[XDebug]3;调试功能模块儿4;extension=php_xdebug.dll5;下面是php_xdebug在phpstudy中的位置,根据情况修改,重要!!!!6zend_extension = "D:\phpstudy\Extensions\php\php7.3.4nts\ext\php_xdebug.dll"7xdebug.remote_handler=dbgp8xdebug.idekey= "PHPSTORM"9;开启远程调试10xdebug.remote_enable = On11;远程主机12xdebug.remote_host=localhost13;主机端口,重要!!!!14xdebug.remote_port=900115;开启自动跟踪16xdebug.auto_trace = On17;开启异常跟踪18xdebug.show_exception_trace = On19;开启远程调试自动启动20xdebug.remote_autostart = On21;收集变量22xdebug.collect_vars = On23;收集返回值24xdebug.collect_return = On25;收集参数26xdebug.collect_params = On27;临时跟踪信息输出,按需修改28;xdebug.trace_output_dir="D:\phpstudy\Extensions\php\php7.3.4nts\tmp"29;显示局部变量30xdebug.show_local_vars = On31xdebug.profiler_enable = On32;xdebug.profiler_output_dir ="D:\phpstudy\Extensions\php\php7.3.4nts\tmp"33xdebug.trace_enable_trigger =On重启apache服务
phpstorm配置
注意
每步配置完成后需点击右下角:Apply!!!
php解释器配置
File->Setting->Language&Frameworks->PHP
php版本7.3.4。其他的正常配置解释器即可。
debug配置
File->Setting->Language&Frameworks->PHP->Debug
此步只需更改X-debug port为9001,即第二步在php.ini中配置项为xdebug.remote_port的值
DBGp Proxy配置
File->SFetting->Language&Frameworks->PHP->Debug->DBGp Proxy
1 | IDE key:PHPSTORM |
2 | //第二步在php.ini中配置项为xdebug.idekey的值 |
3 | HOST:http://test.com |
4 | //为要调试的项目配置的网站。 |
5 | //不要用类似于http://localhost/test/test.php |
6 | Port:80 |
7 | //服务器的监听地址 |
File->SFetting->Language&Frameworks->PHP->Server
- 点加号添加,Name随便,下面要用。
- Host填调试项目网站。eg:http://test.com
- Port:80
- Debugger:Xdebug
最终调试前配置
Run->Edit Configurations
- 点击
+ - 选择Php Web Page
- Name随便
- Server选择上一步添加Server的Name
- Start URL: http://test.com
- Browser: Chrome
配置完毕
食用
浏览器的Xdebuger helper选择Debug
phpstorm点击右上角电话图标开始监听
phpstorm点击右上角甲壳虫图标开始调试
注意不能浏览器直接访问,要点击甲壳虫图标
如果浏览器访问时,url参数含有XDEBUG_SESSION_START=XXXXX参数,cookie中有 XDEBUG_SESSION =PHPSTORM则成功
后续调试超时问题
调试时,还没调试几十秒钟就超时了。设置一下。
找到httpd.conf
查找 LoadModule fcgid_module modules/mod_fcgid.so模块,保证不被注释
在末尾添加以下配置
1 | <IfModule fcgid_module> |
2 | FcgidProcessLifeTime 8200 |
3 | FcgidIOTimeout 8200 |
4 | FcgidConnectTimeout 4000 |
5 | </IfModule> |