标签: xdebug

为什么xdebug会在我试过的每个XAMPP安装上崩溃apache?

我已经在三台独立的计算机上安装了Windows XAMPP软件包,其中2台运行Windows Vista 32位(1 Ultimate/1 Home Premium)和1台运行Windows Vista 64 Home Premium.

在php.ini中启用xdebug并重新启动apache后,查看默认的XAMPP localhost索引会导致apache每次都以相同的方式崩溃,并将"php_xdebug.dll"报告为故障模块名称.

以下是Windows崩溃报告器的完整报告:

Problem signature:
Problem Event Name: APPCRASH
Application Name:   apache.exe
Application Version:    2.2.9.0
Application Timestamp:  4853f994
Fault Module Name:  php_xdebug.dll
Fault Module Version:   2.0.3.0
Fault Module Timestamp: 47fcd9b9
Exception Code: c0000005
Exception Offset:   00008493
OS Version: 6.0.6001.2.1.0.768.3
Locale ID:  1033
Additional Information 1:   a34a
Additional Information 2:   c9c5f4fd744690d388ab9d5b3eb051a7
Additional Information 3:   cb2e
Additional Information 4:   650bb5690556a17e911375b94d3e16f0
Run Code Online (Sandbox Code Playgroud)

我试过谷歌搜索这个问题,但没有找到任何解决方案,只有类似错误的报告.

编辑:我启用了php_xdebug.dll的扩展行,这似乎已经停止了崩溃到目前为止.

windows apache crash xampp xdebug

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

使用xDebug和PhpStorm调试VM

我的工作设置是Windows XP主机,运行Ubuntu VM LAMP堆栈.我正在使用PhpStorm在我的主机Windows机器上编辑我的代码.保存文件后,会自动通过SFTP上传到VM.除了调试之外,一切都适用于此过程.

我已经将PhpStorm设置为具有名为"UbuntuVM"的服务器,其中包含以下设置:

调试器:
- XDebug
调试会话设置:
- 在第一行中断
- 等待与ide键的连接:XDEBUG_PHPSTORM
在启动之前:
- 将文件上载到选定的服务器

我正在使用Chrome和Xdebug Helper,并将扩展设置为使用"其他"作为IDE,以"XDEBUG_PHPSTORM"为关键.

VM在php.ini中有以下内容:

zend_extension="/usr/lib/php5/20090626+lfs/xdebug.so"
xdebug.remote_enable=1
xdebug.remote_host=10.1.6.22
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.collect_params=On
xdebug.show_local_vars=On
Run Code Online (Sandbox Code Playgroud)

当我在IDE中设置断点时,在Chrome中启用调试器,然后重新加载页面,我从未达到过断点; 并且IDE说"等待端口9000上的连接与ide键'XDEBUG_PHPSTORM'".

有谁知道为什么我没有达到我的破发点?

php debugging xdebug virtual-machine phpstorm

9
推荐指数
1
解决办法
5396
查看次数

XDebug轨迹中的内存值单位是多少?

Xdebug轨迹中的内存值单位是多少?字节?

例如,我有这些线:

TRACE START [2011-11-30 13:11:18]
0.2122    2618704  +489048           -> require_once(...) ...:8
...
0.4147    6847864      +64             -> strtr(string(34), array(128)) ...:21  
Run Code Online (Sandbox Code Playgroud)

那么,6847864 = 6.5MB吗?

php xdebug

9
推荐指数
1
解决办法
244
查看次数

用于cachegrind文件的PHP解析器?

有这样的事吗?

我在Windows上并使用WinCacheGrind应用程序,它似乎不适用于大文件(~2 MB).我收到"无法找到呼叫目标"等错误.

你知道用PHP编写的这些文件的任何解析器可以帮助我构建自己的cachegrind分析器吗?

php windows xdebug kcachegrind

9
推荐指数
2
解决办法
7600
查看次数

使用VirtualBox远程Xdebug

我正在尝试远程调试工作.PHP正在VM上运行,我正在尝试从主机上的NetBeans进行调试.

我按照这里的说明,转发了Windows 7防火墙和VirtualBox网络设置中的端口9000,并在NetBeans中设置了路径映射.我的xdebug设置如下所示:

xdebug.remote_enable = On
xdebug.remote_connect_back = On
xdebug.idekey = "netbeans-xdebug"
xdebug.remote_log = /tmp/xdebug.log
Run Code Online (Sandbox Code Playgroud)

当我加载我想调试的URL(使用正确的idekey)时,它会记录以下内容:

I: Checking remote connect back address.
I: Remote address found, connecting to 192.168.0.1:9000.
I: Connected to client. :-)
-> <init xmlns="urn:debugger_protocol_v1" 
         xmlns:xdebug="http://xdebug.org/dbgp/xdebug"
         fileuri="file:///home/dev/web/projects/project.com.vm/httpdocs/index.php" 
         language="PHP" protocol_version="1.0" 
         appid="1380" 
         idekey="netbeans-xdebug">
   <engine version="2.2.1"><![CDATA[Xdebug]]></engine><author><![CDATA[Derick Rethans]]></author><url><![CDATA[http://xdebug.org]]></url><copyright><![CDATA[Copyright (c) 2002-2012 by Derick Rethans]]></copyright></init>

-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" status="stopping" reason="ok"></response>
Run Code Online (Sandbox Code Playgroud)

但是,NetBeans仍在等待连接.除了设置断点之外,我已将其设置为在第一行停止.即使NetBeans未侦听,日志文件也将包含"已连接到客户端"消息.

知道我可能会缺少什么吗?

谢谢.

virtualbox remote-debugging xdebug

9
推荐指数
3
解决办法
1万
查看次数

XDebug停止在PHPStorm工作

几个小时以来,我一直在反对这一点.

我已经回来在PHPStorm中做了一些工作,在几周后没有使用它,并且由于某种原因调试不再起作用.它曾经工作,但现在它没有,我不知道发生了什么.

我在Windows上运行,使用IIS,PHP版本5.3.8.安装了XDebug,我按照通常的说明在PHP.ini中设置了配置.

当我运行phpinfo()时,一切看起来都很正常(即XDebug就在那里).

我已经重新检查了各种设置,下载了比我正在使用的XDebug稍微更新版本的版本(Xdebug v2.2.1),但似乎没有任何东西可以将其付诸实践.

有人可以给我一些关于我接下来可以看到的线索吗?

更新:

我花了几个小时的时间来反对这一点,似乎没有进一步发展.根据phpinfo(),安装并加载了XDebug.我开启了日志记录,但它并没有真正告诉我很多,除了XDebug确实连接...

Log opened at 2013-02-17 04:13:07
I: Connecting to configured address/port: localhost:9000.
I: Connected to client. :-)
-> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" fileuri="file:///C:/web/dbg/index.php" language="PHP" protocol_version="1.0" appid="6912" idekey="PHPSTORM"><engine version="2.2.1"><![CDATA[Xdebug]]></engine><author><![CDATA[Derick Rethans]]></author><url><![CDATA[http://xdebug.org]]></url><copyright><![CDATA[Copyright (c) 2002-2012 by Derick Rethans]]></copyright></init>

-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" status="stopping" reason="ok"></response>

Log closed at 2013-02-17 04:13:07
Run Code Online (Sandbox Code Playgroud)

所以似乎问题出现在PHPStorm方面,但我看不到哪里.我尝试创建一个非常简单的项目,但无法进行调试.

xdebug phpstorm

9
推荐指数
2
解决办法
9392
查看次数

在XAMPP中启用XDebug会降低phpmyadmin的速度

每当我启用xdebug以使用以下标准设置调试我的php-projects时,它会在每个动作上减慢phpmyadmin的速度.刚开启phpmyadmin需要将近10秒钟.

zend_extension = "C:\xampp\php\ext\php_xdebug.dll"
xdebug.profiler_append = 0
xdebug.profiler_enable = 1
xdebug.profiler_enable_trigger = 0
xdebug.profiler_output_dir = "C:\xampp\tmp"
xdebug.profiler_output_name = "cachegrind.out.%t-%s"
xdebug.remote_enable = on
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "127.0.0.1"
xdebug.trace_output_dir = "C:\xampp\tmp"
xdebug.remote_port = 9000
Run Code Online (Sandbox Code Playgroud)

编辑:试验和错误...这解决了问题

xdebug.remote_host = localhost
Run Code Online (Sandbox Code Playgroud)

xampp xdebug phpmyadmin

9
推荐指数
1
解决办法
3491
查看次数

如何在Mac上为PHP7设置XDebug?

我已经使用Homebrew ie 在我的mac上安装了PHP 7

$ brew install php70
Run Code Online (Sandbox Code Playgroud)

另外我想在我的机器上安装XDebug.

理想情况下,我希望有一个简单的解决方案,如再次使用brew,但不幸的是,似乎没有这样的公式存在(至少尚未),最新的包是homebrew/php/php56-xdebug.

我想在开始手动安装之前,请在此处查看是否还有其他解决方法.

任何建议将不胜感激.

macos homebrew xdebug php-7

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

如何在nginx反向代理后面使用XDebug和PHP上游?

我有一个运行PHP-FPM的PHP服务器,它通过端口上的nginx与fastcgi一起提供7000.此应用程序已停靠,并作为正在运行的容器运行,例如my_api.

my_api搬运工容器可以连接到直接经由端口7000(对于健全检查),以及通过其充当nginx的反向使用上行流以暴露代理另一个容器my_api上的端口的应用程序(和其它)80443(端口80重定向到SSL)通过proxy_pass指令在适当的位置.

如果我在端口上使用dbgp9000直接针对从http:// localhost:7000提供的文件启动XDebug会话,我可以看到调试会话已正确建立,我可以调试.

但是,如果我尝试针对nginx反向代理服务的URL启动XDebug会话,例如https:// localhost/my-api,则调试会话似乎没有启动,或者至少它没有正确创建连接(我的IDE中没有出现断点等).

如何为通过nginx反向代理发出的请求建立XDebug会话?

出于此问题的目的,下面是我的docker-compose.yml配置的(相关)示例,并且xdebug.ini:

docker-compose.yml:

version: "2"

services:
  api:
    build: <path_to_dockerfile>
    ports:
       - 7000:7000
       #- 9000:9000   # may be uncommented for direct debugging access
  nginx_proxy:
    build: <path_to_dockerfile>
    links:
      ...
      - api:api
    ports:
      - 80:80
      - 443:443
Run Code Online (Sandbox Code Playgroud)

xdebug.ini

zend_extension=xdebug.so
xdebug.remote_enable=true
xdebug.remote_connect_back=1
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.remote_autostart=0
Run Code Online (Sandbox Code Playgroud)

注意:我尝试了几种不同的配置来尝试使其工作,包括启动运行dbgpproxy …

php xdebug nginx docker

9
推荐指数
1
解决办法
2014
查看次数

VSCODE中的PHP 7 Xdebug:如何忽略异常

我在Visual Studio Code中使用插件PHP Debugger调试PHP代码。PHP <= 5.6时一切正常。调试器的工作就像一个魅力。但是,当我尝试使用PHP 7调试代码时,它无法按预期工作。它没有跳到我添加的断点,我被困在thounsand,除了

发生异常。不推荐使用的:与类相同名称的方法在将来的PHP版本中将不再是构造函数;RecurringType的构造函数已弃用

要么

发生异常。警告:AntlrLexer :: matchAny()的声明应与BaseRecognizer :: matchAny($ input)兼容

要么

发生异常。注意:试图获取非对象的属性

这些异常是由框架生成的,因此我无法全部解决,我只想跳过所有这些异常,而仅跳到我的断点。

我该如何实现?谢谢。

php exception xdebug visual-studio-code

9
推荐指数
3
解决办法
1450
查看次数