我试图让xdebug使用eclipse(3.5)/ php(在xampp windows 7上).我已经验证xdebug已在php中启用 - 我有精美的输出,我的phpinfo显示所有xdebug的东西.我有远程调试,并在我的eclipse机器上输入了lan ip地址.
当我告诉eclipse进行调试时,它会启动浏览器并传递调试URL参数.看起来不错.
但是,在eclipse调试透视图中,它显示'启动myproject'57%'等待xdebug会话'.它永远坐在那里.
我已经关闭了两台机器上的Windows防火墙.
我尝试过隐式刷新.
有任何想法吗?
我想通过以下软件配置进行远程调试:
Win 7 Pro 64位WAMP Server 2.2(32位)包括.Apache 2.2.22,PHP 5.4.3,XDebug php_xdebug-2.2.1-5.4-vc9.dll JetBrains PHPStorm 4.0.3
1.)WAMP启动并运行,我的站点可以在localhost/fox /下找到
2.)PHP Storm有一个项目,我的源文件和apache别名localhost/fox之间有一个映射
2.)我安装了php扩展XDebug并将以下行添加到我的php.ini中
[xdebug]
zend_extension="c:/wamp/bin/php/php5.4.3/zend_ext/php_xdebug-2.2.1-5.4-vc9.dll"
xdebug.remote_enable=On
xdebug.remote_host="localhost"
xdebug.remote_port=9000
xdebug.remote_connect_back=On
xdebug.remote_autostart=On
xdebug.profiler_enable=On
xdebug.profiler_enable_trigger=off
xdebug.profiler_output_name=cachegrind.out.%t.%p
xdebug.profiler_output_dir="c:/wamp/tmp"
xdebug.remote_log="C:/wamp/tmp/xdebug.log"
xdebug.remote_cookie_expire_time=6000
Run Code Online (Sandbox Code Playgroud)
这应该配置远程调试XDebug和回调地址.
我在这里检查了我的安装:xdebug.org/wizard.php
3.)我配置了phpstorm,首先我添加了本地服务器
然后在这里检查我的设置
http://www.bilder-hochladen.net/files/jrn0-2-c81e-jpg-nb.html
(我也试过127.0.0.1/fox作为服务器地址,而不是localhost)
我的调试设置:http: //www.bilder-hochladen.net/files/jrn0-1-c4ca-jpg.html
现在我重启我的apache,我进入phpstorm,设置一个断点(它是红色的),点击该功能
Run -> Start listen to PHP Debug Connections
Run Code Online (Sandbox Code Playgroud)
电话接收器正在变成绿色,这究竟是什么意思,但它对我来说是一个正面的信号.
当我现在在本地webserver absolutley上运行我的php脚本没有任何反应时,程序运行在断点上并且不会停止.
在Xdebuggers日志(C:/wamp/tmp/xdebug.log)中,我发现这些消息的负载如下:
I: Checking remote connect back address.
I: Remote address found, connecting to ::1:9000.
E: Could not connect to client. :-(
Log closed at 2012-07-19 14:21:08
Run Code Online (Sandbox Code Playgroud)
在互联网的某个地方,我发现了暗示,Windows防火墙可以阻止通信,所以我把它关闭了完整但但没有帮助. …
我的情况如下:
我有一个VM(Ubuntu服务器13.04)与PHP 5.4.9-4ubuntu2.2,nginx/1.2.6,php5-fpm和Xdebug v2.2.1.
我正在使用PhpStorm 6.0.3开发一个应用程序(我在VM上部署).
我的问题是,每当我尝试启动调试会话时,IDE都不会从Web服务器获取连接请求(因此,会话永远不会启动).
我查看了很多关于xdebug配置的建议,但没有发现任何有用的东西.
我最近意识到,如果我通过浏览器自己设置XDEBUG_SESSION cookie(感谢FireCookie),我可以调试我的应用程序...所以我的猜测是有一些东西阻止网络服务器将cookie发送回客户端.
问题是,我在不同的项目中使用相同的IDE配置,该项目部署到不同的基于CentOS的VM(使用lighttpd),并且工作得很好.
我试图将我当前的项目部署到这样的VM(将Web服务器更改为NginX)并且它工作正常(不幸的是我丢失了该VM并且无法检查配置:().
所以...这是我的NginX配置:
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
server_name localhost;
location / {
try_files $uri $uri/ /dispatch.php;
}
#
location ~ \.php$ {
root /var/www/bresson/web;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index dispatch.php;
fastcgi_param SCRIPT_FILENAME /var/www/$fastcgi_script_name;
include fastcgi_params;
#fastcgi_pass 127.0.0.1:9009;
}
}
Run Code Online (Sandbox Code Playgroud)
fpm config(/etc/php5/fpm/pool.d/www.conf):
listen = /var/run/php5-fpm.sock
Run Code Online (Sandbox Code Playgroud)
xdebug.ini:
zend_extension=/usr/lib/php5/20100525/xdebug.so
xdebug.remote_port=9000
xdebug.remote_enable=On
xdebug.remote_connect_back=On
xdebug.remote_log=/var/log/xdebug.log
Run Code Online (Sandbox Code Playgroud)
任何想法将不胜感激.谢谢!
编辑:
我尝试的另一件事是从php开始一个会话,我看到会话cookie创建没有任何问题...
第二编辑:
我想我找到了问题所在:URI.
我写了另一个脚本,以尝试配置参数和东西(更简单的一个),它工作正常!
所以最终我认为问题是查询参数(即:) XDEBUG_SESSION_START=14845没有达到我的脚本.
问题是我的起始URI,它是形式的/images/P/P1/P1010044-242x300.jpg.通过一些虚拟主机配置,我应该能够将其路由到类似的东西/dispatch.php/images/P/P1/P1010044-242x300.jpg,并使用URI的其余部分作为参数.所以...我本身没有找到解决方案,但现在我有一个可行的解决方法(指向我的起始URL /dispatch.php),这将暂时做到这一点.谢谢
我的操作系统是Mac Mountain lion.
我的PhpStorm版本是5.0.4.
这是我的php xdebug信息:
我可以在PhpStorm中调试PhpScript Run Type,它运行正常.所以我认为xdebug配置得很好.
但是在我尝试遵循"零配置调试"(使用Web应用程序运行类型)后,Phpstorm无法连接传入连接.
这是我的步骤:
lsof -i4TCP:9000.
命令PID用户FD类型设备大小/关闭节点名称
webide 288 wangfeng 69u IPv6 0xa83881cdce30c579 0t0 TCP*:cslistener(LISTEN)
打开Chrome的开发者工具,选择Cookie. …
我尝试使用xdebug和NetBeans来调试PHP.我开始调试,NetBeans等待与xdebug的连接.我有NetBeans 6.8(最新版本),我的mac上安装了最新的MAMP软件包.
我的php.ini看起来像这样:
[xdebug]
;zend_extension="/Applications/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-20060613/xdebug.so"
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=localhost
xdebug.remote_port=9000
Run Code Online (Sandbox Code Playgroud)