标签: xdebug

XDebug,如何禁用单个.php文件的远程调试?

我正在使用Eclipse IDE +远程Xdebug.EclipseIDE正在侦听9000端口以获取某种Xdebug信息.

在服务器上有一些由cron运行的php脚本.因此,每个cron执行xdebug都会向我的工作站发送信息,而EclipseIDE正试图在我的项目中找到这个文件.但无法找到文件,因为运行scrits的cron与我正在使用的项目无关.因此,每个运行Eclipse IDE的cron都会发出此消息警告http://img2.pict.com/22/fc/86/3299517/0/screenshot2b142.png

我试图添加到cron执行php脚本一些字符串...

if (function_exists('xdebug_disable')) {
  xdebug_disable();
}
Run Code Online (Sandbox Code Playgroud)

......但它没有帮助.

有任何想法吗?

谢谢

php xdebug

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

在Eclipse PDT中等待XDebug Session 57%

当我写这条消息时浏览提示似乎这是一个棘手的问题与所有类型的补丁,但没有明确的答案......无论如何,我试试我的机会,这里是.我在Ubuntu 10.04上使用Eclipse Helios PDT,使用XDebug和php.ini中的相应部分如下:

xdebug support  enabled
Version 2.0.5

Supported protocols Revision
DBGp - Common DeBuGger Protocol $Revision: 1.125.2.6 $
GDB - GNU Debugger protocol $Revision: 1.87 $
PHP3 - PHP 3 Debugger protocol  $Revision: 1.22 $

Directive   Local Value Master Value
xdebug.auto_trace   Off Off
xdebug.collect_includes On  On
xdebug.collect_params   0   0
xdebug.collect_return   Off Off
xdebug.collect_vars Off Off
xdebug.default_enable   On  On
xdebug.dump.COOKIE  no value    no value
xdebug.dump.ENV no value    no value
xdebug.dump.FILES   no value    no value
xdebug.dump.GET no value    no value …
Run Code Online (Sandbox Code Playgroud)

xdebug eclipse-pdt

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

php xdebug:如何分析forked进程

我正在运行一个PHP守护进程来进行分析.

启动的php进程加载所有必需的数据,分叉自己在所有核心上分配工作负载,等待分叉的子进程完成,并收集子进程生成的结果.

由于我与其他用户共享CLI环境,因此我需要通过将php.ini值注入shell调用来启动xdebug概要分析.

 $ php -d xdebug.profiler_enable=1 -d xdebug.profiler_output_dir="/home/xxx" daemon.php
Run Code Online (Sandbox Code Playgroud)

生成的cachegrind文件,如何配置父级,因此显示90%的睡眠.

有没有办法在不构建驱动程序的情况下对工作人员进行分析直接加载它们?

谢谢

php profiler fork xdebug

12
推荐指数
1
解决办法
3634
查看次数

Xdebug PhpStorm:等待与ide键的传入连接

当我使用PhpStorm和xdebug调试php时,我已经搜索了很多这个问题,我发现有3或4个链接讨论这个问题,但没有一个是有用的.我的Xdebug的版本是2.2.3,而PhpStorm'version是6.03.我可以逐步调试每一行,除了这一行

$this->link = mysql_connect($this->dbserver, $this->dbuser, $this->dbpass);
Run Code Online (Sandbox Code Playgroud)

PhpStorm显示此错误:等待与ide键"14841"的传入连接.这是我的xdebug配置:

 zend_extension="/usr/lib/xdebug.so"
 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=9001
 xdebug.remote_handler="dbgp"
 xdebug.remote_log = "/tmp"
 xdebug.remote_connect_back=1
 xdebug.idekey=PHPStorm  
Run Code Online (Sandbox Code Playgroud)

我添加这些行"xdebug.remote_connect_back = 1 xdebug.idekey = PHPStorm",也抵制ide,它仍然是相同的我保证三个参数是正确的.

xdebug phpstorm

12
推荐指数
2
解决办法
4万
查看次数

PHP Netbeans:xdebug在每个include()或require()上停止

我刚刚使用集成在netbeans IDE中的xdebug发现了PHP调试,我觉得它很棒!没有它我怎么活着?:)

但是有一个问题:如果我在代码中设置了一个断点,我必须在我到达断点之前按"继续"(F5)几次,因为脚本在每个include()和require()函数处停止.

我的包括看起来像这样:

<?php
    require_once('include/config.inc.php');
    require_once('include/forms.inc.php');
?> 
Run Code Online (Sandbox Code Playgroud)

这是一个错误,还是我可以禁用此行为,所以我不必多次按"继续"?

我在ubuntu 9.10上使用NetBeans 6.9.1

php debugging netbeans xdebug

11
推荐指数
1
解决办法
3330
查看次数

nginx php-fpm xdebug netbeans只能启动一个调试会话

在过去,我使用apache + mod_php + xdebug + netbeans进行开发我的网站(服务器是我的本地机器,运行Debian Squeeze),很高兴 - xdebug工作正常,调试会话可以随时启动和停止,当我需要它.但是,当我转到nginx + php_fpm + xdebug + netbeans时,我遇到了一些调试问题.

  1. 我的调试会话可能会很长(超过30秒),似乎nginx无法等待这么长时间,它显示"504网关超时错误".我已经尝试了很多解决这个问题的建议,但没有运气.虽然,它对我来说不是很重要,因为调试会话本身继续运行,这只是一个有点不舒服的事情.
  2. 我的调试会话只能运行一次,因此,如果我停止它,并尝试再次启动调试,netbeans无法接受来自xdebug的连接(它写入"等待xdebug连接"并且它是永远的).重新启动netbeans后,可以再次正常启动调试会话.
  3. 在我遇到的情况下,我无法理解,调试是"打开所有PHP脚本"并阻止其他任何脚本运行.例如,我在我的网站http://mysite.local/index.php上启动调试会话并使用它.一段时间后,我发现,我的adminer(放在intranet.local/adminer.php)犯规运行,浏览器尝试了一段时间加载页面,并且比显示"504网关超时错误".如果我看到这种行为,我可以在netbeans中停止xdebug调试会话,并且所有其他脚本开始正常运行.

现在,当我写这个问题时,我做了一些调查,发现,如果我启动调试会话几秒钟,之后停止它,然后重新开始 - 它会正常启动.似乎问题出现在一段时间的主动调试之后.

我的系统和应用程序:Debian squeeze:2.6.32-5-686 Nginx:1.4.1(来自dotdeb存储库)php5-fpm:5.3.26-1~d(来自dotdeb存储库)php5-xdebug:5.3.26-1 ~d(来自dotdeb存储库)netbeans:7.3

我的配置:

  1. nginx base config:https://gist.github.com/MihanEntalpo/6229801
  2. nginx网站配置文件:https://gist.github.com/MihanEntalpo/6229781
  3. fastcgi_params文件:https://gist.github.com/MihanEntalpo/d93fd4105573e1eda56f
  4. php-fpm pool配置文件:https://gist.github.com/MihanEntalpo/6229820
  5. php-fpm xdebug配置文件:https://gist.github.com/MihanEntalpo/6229836
  6. netbeans:选项,与apache服务器完全相同:
    • 中断第一行= OFF
    • 弹出窗口中的评估= ON
    • 显示请求URL = ON
    • 端口= 9000

记录在nginx的错误日志文件中,当它无法等待被调试的脚本时,或者由问题#3锁定的其他脚本,提前提到:

2013/08/14 14:40:16 [错误] 4822#0:*111上游超时(110:连接超时)从上游读取响应头,客户端:192.168.100.1,服务器:intranet.local,请求: "GET /adminer.php?username=root&db=devel&table=user HTTP/1.1",上游:"fastcgi://127.0.0.1:9999",主机:"intranet.local",引荐来源:" https:// intranet. …

php debugging xdebug nginx netbeans-7

11
推荐指数
1
解决办法
7455
查看次数

phpstorm xdebug与symfony2项目

我正在尝试使用xdebug和phpstorm调试symfony2应用程序.

我的本地开发环境是Ubuntu 14.04,apache2,Xdebug版本是2.2.7

我有这个工作在另一个PHP(而不是symfony2)项目与以下指南:

https://www.jetbrains.com/phpstorm/help/configuring-xdebug.html

https://confluence.jetbrains.com/display/PhpStorm/Zero-configuration+Web+Application+Debugging+with+Xdebug+and+PhpStorm

当我执行bookmarlet设置cookie并开始调试这个symfony2项目时,phpstorm检测到传入连接(我接受),但没有其他事情发生.它不会在任何断点处停止.

我有symfony2 phpstorm插件.我试图禁用它,也没有得到任何东西.

这个答案看起来对我很好,但它也没有

我尝试的最后一件事是更改服务器调试配置,禁用路径映射.这样phpstorm开始调试,但它在app_dev.php文件而不是我设置的任何断点中断.

我被困在这里,任何想法都将是appreacite

UPDATE

更多信息我没有提到:

  • 我正在使用firefox我正在尝试调试开发环境
  • 断点是我自己的控制器中的一个动作,而不是供应商的动作.

UPDATE

这是我的xdebug配置

[XDebug]
zend_extension="/usr/lib/php5/20121212/xdebug.so"
xdebug.remote_enable=1
xdebug.remote_port="9000"
xdebug.profiler_enable=1
xdebug.profiler_output_dir="<AMP home\tmp>"
Run Code Online (Sandbox Code Playgroud)

php xdebug symfony phpstorm

11
推荐指数
3
解决办法
2万
查看次数

使用XDebug的Visual Studio代码陷入困境

我在Windows 10上使用XDebug和Visual Studio Code来调试PHP.

调试器工作但不时会卡住(命中断点但不响应步入,跳过命令).

我尝试切换到XDebug nts版本(非线程安全),但它没有帮助.重新启动Web服务器(Apache)也无法解决此问题.有时计算机重启有助但不总是......

任何解决方案或解决方法?(甚至可以释放这种死锁的命令行)

xdebug visual-studio-code

11
推荐指数
1
解决办法
472
查看次数

Docker,PhpStorm和Xdebug:找不到源位置错误

我构建了一个基于php:5.6-fpm-alpine图像的图像,我运行一个基于symfony的应用程序,因此我运行cli和基于Web的php脚本.

所以我通过以下方式在我正在运行的容器上生成了一个shell:

docker exec -ti ^container_id^ /bin/sh
Run Code Online (Sandbox Code Playgroud)

在shell上我导出了以下环境变量:

export PHP_IDE_CONFIG="serverName=0.0.0.0:5092"
export XDEBUG_CONFIG="idekey=PHPSTORM"
Run Code Online (Sandbox Code Playgroud)

并且已按照以下链接中的说明设置IDE:

但是当我在phpstorm上启用Xdebug时,即使它正常调试我也会收到以下错误消息:

错误显示在我的PHPSTORM运行实例中

你知道为什么会这样吗?

php xdebug phpstorm docker

11
推荐指数
1
解决办法
2589
查看次数

在 VS Code 中调试时如何关闭警告?

我正在使用 XDebug(PHP Debug扩展)在 VS Code 中调试 PHP 应用程序并收到如下错误:

VS Code PHP 调试错误

我知道问题是什么以及如何解决它,但解决方案是如此庞大,以至于我目前无法解决此类错误。

我想开始使用 VS Code 进行 PHP 开发。我将 Visual Studio 与“用于 Visual Studio 的 PHP 工具”一起使用,但没有出现此问题。

在请求发生时加载的第一个脚本中,我有error_reporting(E_ALL^E_WARNING^E_NOTICE);,它应该抑制这样的错误。但似乎 VS Code 调试器忽略了它。我没有找到任何PHP Debug可以帮助我解决这个问题的设置。

有什么方法可以告诉 VS Code Debugger 忽略/不显示此类错误?

php xdebug visual-studio-code

11
推荐指数
1
解决办法
4283
查看次数