27

我试过了:

  1. Xdebug 和 Eclipse。Eclipse 启动 Web 浏览器,但浏览器尝试访问 Eclipse 的 .app 包中不存在的文件。
  2. Xdebug 和 NetBeans。它做得更好一点;浏览器在 /tmp 中打开一个页面,上面写着“正在启动。请稍候……”但除此之外什么都没有发生。
  3. Xdebug 和 debugclient,Xdebug 自带的 CLI 工具。MacPorts(我用来安装 PHP 和 Xdebug)似乎没有自己安装它,当我尝试手动编译它时,我被告知“你有奇怪的 libedit”。通过 MacPorts 安装 libedit 并不能解决这个问题。
  4. Zend 的调试器(确切的名称现在我不知道)和 Eclipse。我不记得问题是什么,因为这是前一段时间的问题,但它没有用。

关于 Xdebug,至少,我相当有信心我已经正确安装了它。它在 PHP 文件和php -iCLI 中都显示为 phpinfo()。

如果有人设法在 Mac 上以某种方式进行 PHP 调试,如果您能与我分享如何做,我将不胜感激。乱扔垃圾的代码var_dump($foo);die();很快就会变老。如果不使用像 Eclipse 这样的过时软件编辑器或 Zend 想卖给我的昂贵的专有东西,就可以完成加分。

我的服务器正在通过 FastCGI 连接到 PHP,如果这会产生差异。

4

8 回答 8

21

您可能想查看MacGDBp。它是新的、免费的,而且 UI 看起来很棒。它也利用了 Xdebug PHP 扩展。您可以在帮助部分找到说明,其中包括 Xdebug 配置,这里还有来自 Particletree 的人对应用程序的一个很好的概述:使用 MacGDBp 使 Echo 静音

于 2008-09-17T16:11:48.867 回答
11

我是这样做的:

1 - 将最新版本的 xdebug.so 从http://aspn.activestate.com/ASPN/Downloads/Komodo/RemoteDebugging复制到 /usr/libexec。

2 - 将以下内容添加到全局 php.ini:

zend_extension="/usr/libexec/xdebug.so"
xdebug.remote_enable=1
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_autostart=1

3 - 重新启动 Apache 并运行MacGDBp

于 2009-01-08T23:20:16.900 回答
3

只是想更新这个线程,让你知道这里有一个新的应用程序http://codebugapp.com/它是商业的,但它是 OSX 的 Xdebug 客户端

于 2012-10-16T15:57:41.853 回答
1

我使用 Komodo 5 --- 调试工作非常出色,不仅可以使用 PHP,还可以使用 Ruby 和 Python。我主要使用它来调试在远程服务器上运行的 PHP 脚本,但您也可以在本地执行操作。它不是免费的,但假设你自己的时间是值得的,你会在几个小时内拿回你的钱!

于 2010-09-22T01:01:43.603 回答
1

有一种方法可以使用

1)安装php并调试

brew install php70   
brew install php70-xdebug
  • 在 PhpStorm - 检查首选项 => 语言和框架 => PHP
    Php 语言级别:7
    解释器:PHP 7.0.8 + XDebug(或从 [...] 中选择)

  • 检查调试配置:首选项 => 语言和框架 => PHP => 调试 => Xdebug 部分
    应选中所有复选框并将调试端口设置为:9001

2)在您的应用程序目录中运行服务器:

php -S localhost:8080

3) 将 localhost:8080 添加到 PhpStorm Preferences => Language and Frameworks => PHP => Servers:
Name: Localhost:8080
Host: localhost
Port: 8080
Debugger: Xdebug

4) 更新 php.ini:
Php => Interpreter => […] => 配置文件 - 在编辑器中打开
添加此部分:(通过 cli 检查 zend_extention 路径)

[Xdebug]
zend_extension=/usr/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so
xdebug.remote_enable=1
xdebug.remote_host=localhost
xdebug.remote_port=9001 (same as in Debug preferences)

5)添加调试配置:运行=>编辑配置=>添加-Php Web应用程序

  • 选择本地主机:8080 服务器

6) 点击 Start Listening for Php Debug Connections
7) 设置断点
7) 点击 Debug (Green bug)

于 2016-07-11T11:13:26.817 回答
0

我想我没有得到奖励积分,但是 Zend Studio 在我的 Mac 上为我工作,连接到在 VMware 中运行的 Apache。

于 2008-09-17T15:30:35.550 回答
0

我一直使用 Eclipse 和 ZendDebugger 调试 PHP CLI 脚本和 web probject(通过 apache 等)。

我在以下链接中回答了类似的问题: 单击此处

希望这就是你要找的。

于 2008-09-25T07:12:00.523 回答
0

如果您使用的是 MAMP,请注意它有 2 个 php.ini 文件需要更新。我花了几个小时才弄明白这个。这两个文件位于 MAMP 4 的以下文件夹中,

/Applications/MAMP/bin/php/php5.6.25/conf/php.ini
/Applications/MAMP/conf/php5.6.25/php.ini

如果您使用的是 php7,那么您需要更新这些文件。滚动到文件底部并确保您有以下条目,

[xdebug]
zend_extension="/Applications/MAMP/bin/php/php5.6.25/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so"
xdebug.default_enable=1
xdebug.remote_enable=1
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_autostart=1

然后确保重新启动服务器,否则将不会加载新设置。要确保 Xdebug 正常工作,请打开 MAMP 开始页面,然后单击 phpinfo 选项卡。在列表中搜索 xdebug,您应该会看到Xdebug 部分显示扩展已加载并启用,否则上述配置有问题。

接下来,您可以启动 MacGDBp,它将连接到端口 9000 并允许您调试文件。

注意:如果您在 Wordpress 上开发,请确保跳过“AJAX”调试会话。这些是常规的,因为仪表板将 ping 服务器以进行更改。如果您在 MacGDBp 设置中启用“第一行中断”,您将看到 ajax 会话在define ('DOING_AJAX')....您可以跳过的行上中断。一旦你触发了你的事件来调试你的代码。

于 2016-09-05T09:08:18.997 回答