gpt4 book ai didi

magento - PHPStorm/调试器不会在某些断点处停止

转载 作者:行者123 更新时间:2023-12-04 16:44:52 28 4
gpt4 key购买 nike

我已经使用适用于 Mac OS(Apache 2.2.22、PHP 5.3.15)的标准 LAMP 堆栈设置了 XDebug (2.2.1) 和 PHPStorm-IDE (Mac OS X 10.7.5)。

/etc/php.ini

[xdebug]
zend_extension=/usr/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so
xdebug.file_link_format="txmt://open?url=file://%f&line=%1"
xdebug.remote_enable = On
xdebug.remote_autostart = "PHPSTORM"
xdebug.var_display_max_data = 1024
xdebug.dump.GET=*
xdebug.dump.POST=*
xdebug.show_local_vars=On
xdebug.dump.SERVER=*
xdebug.dump_globals=On
xdebug.collect_params=4

我遵循了这两个教程,它适用于我 99% 的项目文件:
  • http://blog.jetbrains.com/webide/2011/03/configure-php-debugging-in-phpstorm-2-0/
  • http://blog.jetbrains.com/webide/2011/02/zero-configuration-debugging-with-xdebug-and-phpstorm-2-0/

  • 我使用 Zend Frameworks MVC 架构。我能够在大多数 Controller 类中的断点处停止,但在其他一些 Controller 中 PHPStorm 忽略了我的所有断点。

    你有什么建议吗?如何调试调试器?什么样的配置错误会导致这种情况?

    谢谢你的帮助。

    最佳答案

    这几乎是 phpstorm 中路径映射错误的结果。您可以在 Settings->PHP->Servers 中配置路径。我遇到了类似的问题,我所要做的就是在 phpstorm 中我的代码根的映射中在服务器上(运行 xdebug 的地方)设置正确的绝对路径。例如c:\my\code\lives\here\on\my\dev\box => /myserver/my/code/lives/here/on/my/actual/server .
    这是一个更完整的解决方案,以及一些调试 XDebug 的一般提示:

  • 将远程日志文件添加到您的 xdebug 设置:xdebug.remote_log = /path/to/logs/xdebug.log
  • 重启apache
  • 跟踪日志(我假设您可以在 OSX 中执行此操作)tail -f /path/to/logs/xdebug.log

  • -- 下次尝试调试页面时,通过跟踪日志内容,您可能会发现明显的错误。如果是这样,只需做您需要做的任何事情。如果没有,我们仍然假设它是路径映射错误并继续尝试修复:--
  • 设置一个断点,您知道 PHPStorm/XDebug 将实际停止并使其停止在那里。在网络上的很多地方,人们报告 index.php 是使 PHPStorm 实际上第一次在断点处停止的最简单的地方。
  • 在您无法让 PHPStorm/XDebug 停止的文件中,设置和取消设置断点,而 PHPStorm 在 index.php 文件中的断点处停止。您应该在 xdebug 日志文件中看到如下所示的行:

  • <- breakpoint_set -i 19 -t line -ffile:///myserver/my/code/lives/here/on/my/actual/server/file.php -n159->


  • 查看文件是否确实存在于 XDebug 正在寻找它的地方,例如
  • tail /myserver/my/code/lives/here/on/my/actual/server/file.php
  • 如果文件实际上不在那里,请调整 PHPStorm 设置中的路径映射,直到 PHPStorm 告诉 XDebug 查看实际存在的文件。例如如果 XDebug 说 file=/mysrver/my/code/lives/here/on/my/actual/server/file.php ,然后在第 6 步中您会注意到该文件在服务器上不存在,然后您可能会意识到“哦,哎呀,我在路径映射中将 myserver 拼错了”,然后在 PHPStorm 中修复拼写可能会解决问题。

  • 这是一个旧线程,但希望这最终会帮助某人:)

    关于magento - PHPStorm/调试器不会在某些断点处停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18315741/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com