phpstorm配置xdebug单步调试
0 踩坑记
如果你遇到这种情况,不要怀疑,你没配置对!
百度了2天,google的1天 ,说什么是windows10防火墙问题?NONONO 都是瞎说!
0.1 问题重现
我用phpstudy设置,
phpstudy就会在php.ini里加一行
phpinfo()也能显示,你以为你成功了?NONONO
0.2 解决问题
把;extension=php_xdebug注释掉 换成zend_extension 或 zend_extension_ts 或 zend_extension_debug 或 zend_extension_debug_ts
extension意为基于php引擎的扩展
zend_extension意为基于zend引擎的扩展
具体哪个看下表:
扩展引擎名称 | (配置信息) |
---|---|
zend_extension | ( non ZTS, non debug build) |
zend_extension_ts | ( ZTS, non debug build) |
zend_extension_debug | non ZTS, debug build |
zend_extension_debug_ts | ZTS, debug build) |
ZTS:ZEND Thread Safety
比如我的是
那么就用zend_extension
然后找到php_xdebug.dll的绝对路径
这样就变成了:
;extension=php_xdebug
zend_extension= "F:\program\phpstudy_pro\Extensions\php\php5.6.9nts\ext\php_xdebug.dll"
问题解决了?
0.3 坑2 不用迷信Installation Wizard
这个东西推荐的不准,具体要用什么版本,要看phpinfo的参数一个个去试。
关键是这三项:
PHP Version 7.3.0
Architecture x86 (x86是32位系统,X64指的是64位系统)
Zend Extension Build API320180731,TS,VC15
然后去官网下载对应的文件
https://xdebug.org/download/historical
比如phpstudy里的php版本php7.2.9nts,我下载了php_xdebug-2.6.0-7.2-vc15-nts-x86_64.dll可以用。其他版本都不行。多试几个
1 phpstorm配置
1.1 修改php.ini
[Xdebug]
;extension=php_xdebug
zend_extension= "F:\program\phpstudy_pro\Extensions\php\php5.6.9nts\ext\php_xdebug.dll"
xdebug.remote_enable = On
xdebug.remote_handler = dbgp
xdebug.remote_host= localhost
xdebug.remote_port = 9100
xdebug.idekey = PHPSTORM
1.2 配置phpstorm
1.2.1 修改端口号
要和xdebug.remote_port = 9100里配置的一致
1.2.2 配置server
1.2.3 站点配置
添加 php web page
1.2.4 php cli配置
2 使用
小电话根本不用点绿。。直接点那个小虫子就好了。
浏览器地址里自动带上了XDEBUG_SESSION_START=19675
再打开phpstorm,进入了断点
laravel框架也能使用