【问题标题】:Setting up XDebug on MAMP PRO with PHPStorm and Virtual Hosts使用 PHPStorm 和虚拟主机在 MAMP PRO 上设置 XDebug
【发布时间】:2012-04-08 13:27:46
【问题描述】:

我是调试新手,终于有时间玩它了。 但我无法让调试器在 PHPStorm (2.1) 中工作。

我在 Mac (Snow Leopard) 上使用 MAMP PRO (2.0.1)。 XDebug 已安装(默认 MAMP - 2.1.0)并处于活动状态。

我遵循的教程之一是: http://blog.jetbrains.com/webide/2011/02/zero-configuration-debugging-with-xdebug-and-phpstorm-2-0/

我使用这个工具来生成书签: http://www.jetbrains.com/phpstorm/marklets/

在 PHPStorm 中,我单击“开始侦听 PHP 调试连接”按钮,在 Web 浏览器中,我使用链接“开始调试器”。然后我刷新网页并期待在 PHPStorm 中发生一些事情。但是什么也没发生。

应该有什么事情发生吧?

我认为这可能与我正在使用的虚拟主机(在 MAMP PRO 中创建)有关。当我在做一个项目时,我使用的是 dev.companyname.com 之类的 URL

它可以在不同的虚拟主机上运行还是我必须使用'localhost'? 我怎样才能让这个东西工作?

【问题讨论】:

  • 通过启用每个 xdebug.org/docs/all_settings#remote_log 的日志记录来验证 xdebug 是否正常工作。检查日志以查看与 PhpStorm 的连接是否成功。如果是,请仔细检查您是否设置了断点或启用选项以在第一行停止。如果没有帮助,请提供您的 php.ini、xdebug 日志、phpinfo() 输出。

标签: xdebug mamp phpstorm


【解决方案1】:

我在让 XDebug 与 MAMP Pro 和 PHPStorm 一起工作时遇到了同样的问题,但我终于弄明白了。这是我所做的:

  1. 通过启动 MAMP 编辑 php.ini 文件,然后转到文件->编辑模板->PHP->您的 PHP 版本并添加:

    [xdebug] zend_extension="/Applications/MAMP/bin/php/php5.3.6/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so"
    xdebug.remote_enable=1

  2. 从此bookmarklet generator添加Start debuggerStop debuggerDebug this page的书签

  3. 在 PHPStorm 中设置要触发的断点
  4. 点击Start debugger书签
  5. 在 PHPStorm 中,点击 Start Listen PHP debug connections 图标
  6. 加载将触发断点的页面并且应该这样做

有关详细信息,这里是 Jetbrains tutorial post

【讨论】:

  • 现在我意识到我为调试 php 代码付出了多少努力。谢谢这绝对有帮助!
  • 别忘了,在修改php.ini文件后,您可能需要重新启动服务器才能使更改生效。
【解决方案2】:

旧版本有很多答案。使用 Mamp 2.2 和 PHPStorm 7.1 (OSX 10.9) 非常简单

MAMP:

通过 MAMP 为您正在使用的版本编辑 PHP.ini 以启用 XDebug,正如 Allen 描述的那样,删除“;”在 zend_extension 前面添加 xdebug.remote_enable=1

PHP 风暴:

  1. 运行->编辑配置

  2. 添加新的 PHP Web 应用程序

  3. 配置一个新的Server,host为'localhost',port为'8888',并设置起始URL(/myapp)

就是这样,点击调试就可以了,就这么简单。

【讨论】:

  • 为什么端口是8888,我在哪里可以找到我的端口?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-09-03
  • 2012-05-10
  • 1970-01-01
  • 2015-11-20
  • 2013-01-09
  • 2012-12-28
  • 2011-06-27
相关资源
最近更新 更多