昨天工作正常,我今天所做的只是安装码头工具,它不应该与它有任何关系。
情况是我可以开始调试,但是当我点击任何一个" Step" (F5,F6,F7,F8)按钮会说" PHP应用程序(等待...)"好像它正在执行代码,但它永远不会结束。
如果我禁用"在第一线打破"它甚至会进入断点,我可以评估断点之前的任何变量,但它不会继续。
我尝试过创建新项目,重新安装xdebug和php,切换端口,卸载docker以防万一,更改php.ini中的xdebug参数。
问题在于调试器工作,但只在第一个断点之前。
的php.ini:
zend_extension=/usr/lib/php/20151012/xdebug.so
xdebug.profiler_output_dir="/tmp/xdebug/"
xdebug.profiler_enable=off
xdebug.profiler_enable_trigger = off
xdebug.remote_enable=on
xdebug.remote_host="localhost"
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"
xdebug.idekey=ECLIPSE_DBGP
xdebug.remote_connect_back=1
xdebug.show_local_vars=0
xdebug.max_nesting_level=400
我添加了一些用于测试的变量,但没有成功。
phpinfo()函数
答案 0 :(得分:0)
最后我有时间玩配置,重新安装xdebug for php7后,在/etc/php/7.0/cli/conf.d/20-xdebug.ini中尝试不同的规则,我读了一个github项目问题线程:
我通过删除所有观察变量来解决。
我想,“它不可能那样”,但给了它一个机会,它就做到了。也许使用.ini文件有帮助,但最终使它工作的是删除eclipse调试窗口中的所有表达式。
这是git问题线程(该项目是Visual Studio的PHP调试适配器,与我的环境无关):https://github.com/felixfbecker/vscode-php-debug/issues/205
无论如何,这是适用于我的20-xdebug.ini配置:
zend_extension="/usr/lib/php/20160303/xdebug.so"
xdebug.remote_autostart=on
xdebug.remote_enable = On
xdebug.remote_port = 9000
xdebug.remote_host = 127.0.0.1
xdebug.show_error_trace = 1
xdebug.remote_handler="dbgp"