Xdebug 崩溃 apache

Posted

技术标签:

【中文标题】Xdebug 崩溃 apache【英文标题】:Xdebug crashes apache 【发布时间】:2011-09-10 09:10:09 【问题描述】:

当我使用 Eclipse 的内部浏览器时,我的 Xdebug 工作正常,但是当我在外部浏览器中使用它时,apache 崩溃了。

我正在使用 xampp 和 Windows 7 64 位。如果有人需要更多信息,请告诉我。

由于某种原因,如果我在 Eclipse 的 php 调试器中打开了变量选项卡,它会使 apache 崩溃。所以要停止它,我只是不能在调试时打开变量选项卡。所以这避免了问题,但没有解决它。我希望能够拥有这个标签。有什么建议吗?

【问题讨论】:

Apache 很少会在没有错误日志的情况下崩溃,所以看看那里,看看你能找到什么。再说一遍:很可能存在版本不匹配,无论如何您可能都必须重新安装这 3 个组件中的一个,因此获取最新版本并不是一个坏步骤。 有时我在使用 XDebug 和 Eclipse 时会导致 Apache 崩溃(段错误),但只有在我设置并启用了某些类型的 Watches 时才会发生这种情况。尝试将它们全部禁用,看看问题是否仍然存在。 错误日志只有几条提示,没有错误。什么是手表?他们会在 php.ini 中还是什么? “Watches”在 Eclipse IDE 中 - 您在调试时“观察”的变量/表达式 【参考方案1】:

不知道这是否有帮助,我有同样的问题,但它与变量视图中的数组深度 xdebug >handle 有关。你可以改变它。 Widnow > Preferences > PHP > Debug > >Installed Debug > Xdebug > Configure 放大“最大数组深度”解决了我的问题。

http://bugs.xdebug.org/view.php?id=658#c1767

只需将其设置为 10 或更大,它应该可以工作

【讨论】:

【参考方案2】:

我可以确认 t0meck 所说的大部分内容。除了我已经升级到具有 PHP 5.38 的 xampp-win32-1.7.7-VC9 之外。将 phpinfo() 结果带到 Xdebug 的custom installation analyzer,它指定了 php_xdebug-2.1.2-5.3-vc9.dll,但问题并没有完全消除。正如我在“自我笔记”页面中记录的那样,以下内容对我有用。

按照上述过程后,“运行方式”应该在第一次尝试时工作,但“调试方式”可能会在每次尝试时使 Apache 崩溃。这是一个使许多人严重分心的问题。使用调试透视图暴露了一个明显的错误。透视图的顶部中心是一个带有两个选项卡的窗口,变量视图和断点视图。通常,Apache 仅在突出显示变量视图时才会崩溃,因此请改为突出显示断点视图。然后在你的项目上设置一个断点。现在,如果您是被选中的人之一,您将能够使用调试器逐步执行脚本,但是当您切换到变量视图时,它仍然可能使 Apache 崩溃。多么拖沓。重复这个过程,下一次你应该真正看到变量并且问题会神奇地消失,直到你重新启动项目。只需重复该过程,并满足于成为幸运者之一。

【讨论】:

【参考方案3】:

嘿,我搞定了

Eclipse 3.6.1(因为在以后的版本中放置行注释的快捷键不起作用) Xampp 1.7.4 Xdebug 2.1.2

诀窍是将 php 从 VC6 更改为 VC9,然后它才能正常工作。 顺便提一句。是变量面板导致 xdebug 在 php VC6 上使 apache 崩溃。

记得为新的 php 获取 VC9 版本的 xdebug 并且如果你将新的 php 放在除 \xampp\php,然后在 phpinfo();您会看到没有加载 php.ini,因此只需重命名旧 php(您可以随时将它们从一个切换到另一个)并将新 php 放在原始 php 位于“\xampp\php”中的同一目录中并复制你的 php.ini (因为路径不会改变)。还记得为新的 php 获取您在 VC9 版本中使用的任何其他 php 扩展,并将它们放在“\xampp\php\ext”中

【讨论】:

【参考方案4】:

XDebug 构建和类型可能与您的 apache 和 php 构建和类型不匹配...

使用 VS.NET 2008 (VC9) 为 32 位编译并使用 PHP 作为模块的 Apache 需要 XDebug:32 位、VC9、线程安全。

http://xdebug.org/download.php

此外,您可以测试 XDebug 附带的另一个 WAMP 包(例如 WampDeveloper),如果它也不适合您,则可能不是构建不匹配问题。

【讨论】:

我使用此页面xdebug.org/find-binary.php 来确定要下载哪个xdebug 以及它何时开始在eclipse 中工作。所以我很有信心我有正确的版本。为什么它可以在 eclipse 中运行而不是在外部浏览器中运行?

以上是关于Xdebug 崩溃 apache的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Ubuntu 12.04 上读取崩溃文件?

PHP正则表达式崩溃apache

503服务不可用。 Apache 7-10 天崩溃一次

PHP Apache 在执行存储过程时崩溃

APACHE 崩溃:父进程:子进程以状态 3221225477 退出 -- 正在重新启动

使用Symfony开发模式执行并发请求时Apache崩溃