3

想知道在我的本地机器上调试 PHP 的最佳方法是什么。我在 mac os 10.5 上使用 MAMP

谢谢,帕特里克

4

8 回答 8

3

使用xdebug是一个好的开始。下载软件包并按照INSTALL文件中的说明进行操作。这很容易。完成后,将以下行添加到您的php.ini文件中:

;;[xdebug]
zend_extension="/Path/to/your/module/xdebug.so"
xdebug.file_link_format="txmt://open?url=file://%f&line=%1"
xdebug.var_display_max_depth = 20

在此之后不要忘记重新启动 Apache。

大多数调试都可以使用简单的die(var_dump($some_variable)). 它不是很复杂,但安装了 xdebug 后,vardump 的输出在浏览器中看起来相当不错。在大多数情况下,这已经足够了。

如果您需要更多控制,可以xdebug_break();在代码中添加一条语句,并将以下行添加到您的php.ini:

xdebug.remote_enable=1
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_autostart=1

同样,不要忘记重新启动 Apache。

现在,使用MacGDBp(或 Eclipse+PDT,如果必须)这样的工具,您将获得一个经典的调试器。您可以逐步执行您的程序。

玩得开心!

于 2009-11-07T23:42:59.777 回答
1

就个人而言,我使用Eclipse + PDTXDebug为了简化操作,请从Eclipse 下载页面获取 Eclipse for PHP Developers,而不是将 PDT 作为插件安装。Eclipse 具有很高的学习曲线,但它为您提供了您期望的所有调试器功能:指令步进、断点、监视,甚至实时更改变量。

如果您不喜欢 Eclipse 或觉得它对您来说太过分了,还有其他与 XDebug 兼容的客户端。

于 2009-11-07T17:21:29.243 回答
1

我一直认为在任何平台上进行 PHP 调试的“最佳”方式是使用FirePHP,它可以将调试消息直接输出到 Firefox 的 Firebug 窗口中。

于 2009-11-07T17:06:04.313 回答
1

我发现php -l myfile.php在我尝试在浏览器中重新加载页面之前,运行非常适合捕获语法错误(从而防止可恶的死机白屏)。除此之外,我只需将浏览器指向我的本地网络服务器并尝试访问这些页面。

您可以在代码本身中做一些漂亮的事情(例如使用debug_backtrace()),但这(显然)需要您自己将其放入代码中。

于 2009-11-07T17:06:19.010 回答
0

我还使用 eclipse+pdt 和 xdebug。如果您不熟悉调试器,您可以尝试zend studio,它可以很容易地进行设置。

于 2009-11-07T17:57:12.993 回答
0

多亏了很多这样的链接和其他链接,这里有一个编译的解决方案,它成功地使用了 OSX 的本机 Apache2 和 XDebug 以及 MacGDBp 和一个名为XDebug Helper的 Safari 扩展。

于 2013-02-25T03:56:44.547 回答
0

Zend Studio 是迄今为止用于创建和调试 PHP 代码的最佳工具。我在我的开发 Linux 机器上运行 Zend Server 的社区版,并在我的 MacBook Pro 上的虚拟机中本地运行。

查看 Zend 网站了解详细信息 - 它已将我的应用程序开发减少了三分之二!

于 2013-02-20T14:47:03.917 回答
0

即使没有 MAMP,您也可以做到。

有一种方法可以使用:

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:17:12.600 回答