在mac上调试php?

时间:2009-11-07 16:54:27

标签: php debugging macos mamp

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

感谢, 帕特里克

8 个答案:

答案 0 :(得分: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),您将获得一个经典的调试器。你可以通过你的计划。

玩得开心!

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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

你可以在你的代码本身做一些漂亮的事情(比如使用debug_backtrace()),但是(显然)要求你自己把它放在代码中。

答案 3 :(得分:1)

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

如果您不喜欢Eclipse或者发现它太多了,那么还有其他clients与XDebug兼容。

答案 4 :(得分:0)

我也使用eclipse + pdt和xdebug。如果您不熟悉试用版调试器,可以试试zend studio,这样可以很轻松地设置。

答案 5 :(得分:0)

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

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

答案 6 :(得分:0)

感谢像这样的一些链接,这里有一个编译的解决方案,成功地使用OSX的原生Apache2和XDebug以及MacGDBp和名为XDebug Helper的Safari扩展。

答案 7 :(得分:0)

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

有一种方法可以使用:

1)安装php和debug

brew install php70
brew install php70-xdebug
  • 在PhpStorm中 - 检查首选项=>语言和框架=> PHP Php语言水平:7 口译员:PHP 7.0.8 + XDebug(或选择[...])

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

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

php -S localhost:8080

3)将localhost:8080添加到PhpStorm Preferences =>语言和框架=> PHP =>服务器: 名称:Localhost:8080 主持人:localhost 港口:8080 调试器:Xdebug

4)更新php.ini: Php =>口译员=> [...] =>配置文件 - 在编辑器中打开 添加此部分:(检查通过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应用程序

  • 选择Localhost:8080服务器

6)单击“开始侦听Php调试连接” 7)设置断点 7)单击Debug(Green bug)