xdebug未经验证的断点
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了xdebug未经验证的断点相关的知识,希望对你有一定的参考价值。
参考技术A Copyright © 1999-2020, CSDN.NET, All Rights Reserved
打开APP


ajanious
关注
微软vscode中使用xdebug调试,断点不执行或跳过断点的坑 原创
2019-05-12 17:59:17
 1点赞

ajanious 
码龄4年
关注
vscode调试php断点
vscode可以说是一款调试php的神器了,这里我们不说如何安装php debug,以及xdebug了,只说一说其中遇到的一个坑:一切安装完毕,按F5键进行调试,结果断点不执行,这是为什么呢?
现象
如果在apache或nginx日志中发现:
PHP Warning: Xdebug MUST be loaded as a Zend extension in Unknown on line 0
PHP Warning: Module 'xdebug' already loaded in Unknown on line 0
1
2
1
2
说明你的php.ini没有配置好。
解决方法
我们在设置php扩展的时候,在windows下面一般都是采用修改php.ini,增加extension的方式,例如:
extension=php_mbstring.dll
1
1
但是对于有的zend扩展,就不要用这个方法了,直接用zend_extension,这里我们就用xdebug说明:
zend_extension="C:/php/ext/php_xdebug-2.7.2-7.1-vc14.dll"
1
1
设置好之后,重启apache或nginx服务器,设置好断点,就能正确执行到断点就停止了
phpstorm+Xdebug断点调试PHP
1. PHP安装xdebug扩展
php.ini的配置,下面的配置仅供参考,路径要换成自己的!
[xdebug]
zend_extension=php_xdebug.dll
xdebug.remote_handler="dbgp"
xdebug.remote_autostart=1
xdebug.show_local_vars=1
xdebug.dump.GET=*
xdebug.dump.POST=*
xdebug.dump.SERVER=*
xdebug.auto_trace=On
; default trace output directory /tmp
xdebug.collect_vars = On
xdebug.trace_output_dir=/tmp
xdebug.collect_params=4
xdebug.collect_return=On
xdebug.profiler_enable=Off
; default trace output directory /tmp
;xdebug.profiler_output_dir=/tmp
;xdebug.profiler_enable_trigger=On
;test.php?XDEBUG_PROFILE
xdebug.remote_enable=On
xdebug.remote_host="localhost"
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"
xdebug.remote_log = "/tmp"
xdebug.remote_connect_back=1
xdebug.idekey=PHPStorm
ps : remote_handler 、remote_host、remote_port 这些都有默认值,但还是建议设置下,至少知道要设置这些参数~
查看phpinfo~
2.PHPSTORM设置
楼主以前一直用zendstudio,刚开始用phpstorm非常蛋疼,用了一段时间后发现还挺好用的~
1.首先检查phpstorm的xdebug配置
这里的debug port要和php.ini里面的xdebug.remote_port相一致!默认是9000,如果9000端口被占用的话,可以改成其他端口。
2. 设置debug.
添加本地的 web server~
www.51open.pcom 是我本地的 web server~ ~
3.开始调试
-
打好第一个断点,shift + F9就可以了
-
打好第一个断点,选中配置的debug, 按旁边的臭虫 按钮
以上是关于xdebug未经验证的断点的主要内容,如果未能解决你的问题,请参考以下文章