在 Ubuntu 中调试 PHP(Xdebug)

在 Ubuntu 中调试 PHP(Xdebug)

PHP Vim 调试器:配置 Apache

我正在尝试安装调试在 Vim 中调试 PHP。不幸的是,当我按 F5 时,几秒钟后会出现此消息

Waiting for a connection (Ctrl-C to cancel, this message will self-destruct in
20  seconds...)
No connection was made

我应该怎么办?

我在 Google 上搜索了这个问题,然后教程一个(和许多其他),但没有工作。

我关注了 Vdebug指示

我不知道如何实现这个目标:

Edit your apache configure file

In your VirtualHost section, set debugger port same as the one in your vimrc:

php_value xdebug.remote_port **9009**

刚刚提到的 remote_port 与我在 xdebug.ini 和 vimrc 中看到的不同。请参见下文。

目前我在 /etc/php5/apache2/conf.d/xdebug.ini 中有:

zend_extension=/usr/lib/php5/20121212/xdebug.so
xdebug.remote_enable=1         
xdebug.remote_handler=dbgp     
xdebug.remote_mode=req         
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000

xdebug.profiler_enable_trigger=1
xdebug.profiler_output_dir=/media/www/xdebugdata

在我的 vimrc 中

let g:vdebug_options = {}
let g:vdebug_options["port"] = 9000

我安装了Xdebug 助手 Chrome 扩展程序也是。使用 IDE 不是一个选择:我希望使用 Vim。

答案1

我解决了这个问题并且 Vdebug 正在运行。

在 PHP 中启用 xdebug 编辑 php.ini 文件并在“模块设置”部分下添加以下内容:

;;;;;;;;;;;;;;;;;;;
; Module Settings ;
;;;;;;;;;;;;;;;;;;;

zend_extension=/path/to/my/xdebug.so

[debug]

; Remote settings

xdebug.remote_autostart=off

xdebug.remote_enable=on

xdebug.remote_handler=dbgp

xdebug.remote_mode=req

xdebug.remote_host=localhost

xdebug.remote_port=9000

; General

xdebug.auto_trace=off

xdebug.collect_includes=on

xdebug.collect_params=off

xdebug.collect_return=off

xdebug.default_enable=on

xdebug.extended_info=1

xdebug.manual_url=http://www.php.net

xdebug.show_local_vars=0

xdebug.show_mem_delta=0

xdebug.max_nesting_level=100

;xdebug.idekey=

; Trace options

xdebug.trace_format=0

xdebug.trace_output_dir=/tmp

xdebug.trace_options=0

xdebug.trace_output_name=crc32

; Profiling

xdebug.profiler_append=0

xdebug.profiler_enable=0

xdebug.profiler_enable_trigger=0

xdebug.profiler_output_dir=/tmp

xdebug.profiler_output_name=crc32

试试看

现在一切都准备就绪。重新启动 apache 并运行 phpinfo() 以查看是否出现任何 xdebug 信息。如果没有,那么 apache error_log + google 就是你的好朋友。

否则,您已准备好在 vim 内运行调试器。

在 VIM 中打开一个可以从本地主机访问的 PHP 脚本 在 Web 浏览器中打开相同的 PHP 脚本 添加 F5。您应该在 VIM 底部看到类似“等待端口 9000 上的新连接 10 秒...” 在接下来的 10 秒内,使用?XDEBUG_SESSION_START=1URL 末尾的刷新浏览器页面。返回 VIM,您将进入调试器,尽享其所有功能。别忘了:要在 VIM 中切换窗口,请按CTRL- w- w

来源 - 它适用于 Ubuntu,尽管它指的是另一个 Linux 发行版 -

希望这可以帮助。

相关内容