相关疑难解决方法(0)

循序渐进:如何对客户端IDE进行Xdebug故障排除连接

背景

使用Xdebug与PHP和Komodo IDE以及Eclipse PDT.

Xdebug安装在服务器上并正常工作.这是确认的,因为Xdebug代码命令在插入服务器上的PHP文件时按预期工作.

问题

连接到客户端工作站不起作用,很难确定原因,因为它失败了多个IDE.

如果您知道Xdebug已安装并在服务器上运行,但客户端无法连接,那么请逐步检查清单.

任何人都可以帮助添加到这个以制作全面的故障排除清单吗?

具体来说,是否有任何简单的方法来确保网络流量到达客户端,并且以IDE期望查看数据的方式正确格式化?

  • SSH进入Web主机并尝试访问客户端:

    • 可以主持到达客户端吗?(ping -c 5 xxx.xxx.xxx.xxx)
    • 可以托管到达9000端口?(nmap -p 9000 xxx.xxx.xxx.xxx)
    • 如果以上两个成功,输出应该是什么?
    • 如果上述两个失败,下一个故障排除步骤是什么?
  • 验证客户端上基于软件的防火墙的设置

  • 验证linux主机上的iptables设置
  • 验证硬件防火墙b/t客户端和主机

目标

目标是找到一些解决方案,其中客户端计算机上的人员至少可以确认某些东西是否到达客户端而无需确定IDE是否是问题,因为IDE是另一个可能引入问题的复杂程度.

php ide network-programming xdebug

26
推荐指数
4
解决办法
5106
查看次数

使用PHP fastcgi和eclipse进行Xdebug配置?

我一直在使用eclipse-pdt与xdebug和apache一起使用超过一年.事情完美无缺,我可以在eclipse中完成我想要的所有交互式调试(使用我自己的机器作为服务器).

现在我从apache切换到nginx(因此PHP现在不是作为Apache服务而是作为fast-cgi运行)而且我找不到一种方法来配置eclipse与xdebug很好地协同工作.我不确定xdebug或eclipse(或两者)的问题是否确定.

在eclipse配置中,我已经将对PHP配置文件的引用更改为/etc/php5/cli/php.ini.


尝试使用php.ini版本1

使用以下php.ini文件

zend_extension=/usr/lib/php5/20060613/xdebug.so
Run Code Online (Sandbox Code Playgroud)
  • 我看到xdebug正在工作(例如,如果我做了一个var_dump()我得到它的xdebug版本,而不是普通的PHP版本)
  • 我无法从eclipse进行交互式调试:浏览器打开并完全加载包含典型URL的页面...?XDEBUG_SESSION_START=ECLIPSE_DBGP&KEY=...,但程序执行不会在断点处停止
  • 在eclipse的右下角,我看到一条可疑消息:"Launching = put_the_name_of_my_project_here =:57%""刷新工作区"交替显示.

尝试使用php.ini版本2

如果我使用该文件的其他版本(在切换到nginx之前它是有效的):

zend_extension=/usr/lib/php5/20060613/xdebug.so
xdebug.remote_enable=On
xdebug.remote_autostart=On
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_mode=req
Run Code Online (Sandbox Code Playgroud)

我根本无法访问我网站的任何页面.


PS:我机器上的附加数据: - 操作系统: GNU/Linux - Ubuntu 9.10 64位.- PHP: 5.2.10-2ubuntu6.3,带Suhosin-Patch 0.9.7; Zend Engine v2.2.0,版权所有(c)1998-2009 Zend Technologies with Xdebug v2.0.4 - Eclipse:见截图.

替代文字

php eclipse fastcgi xdebug eclipse-pdt

8
推荐指数
2
解决办法
1万
查看次数

标签 统计

php ×2

xdebug ×2

eclipse ×1

eclipse-pdt ×1

fastcgi ×1

ide ×1

network-programming ×1