在Mac上进行PHP调试?

时间:2010-09-29 15:26:53

标签: php debugging macos

我见过这些答案:debugging php on mac?

但我希望有更好/更新的解决方案。我是一个系统级开发人员(C / C ++ / x86),但对于Web /脚本空间来说却是全新的。我觉得我会做好设置一个可靠的调试环境 - 这通常是我学习的好方法。

非常感谢任何有关Mac(10.6)上良好的php调试设置的建议/指示。

谢谢, 马特

3 个答案:

答案 0 :(得分:2)

我自己就是Mac用户,因为我做了一些繁重的PHP开发,我需要为此做一个精心设置。

首先,Snow Leopard中安装的标准PHP和Apache并不错,但升级或添加扩展是一项非常重要的任务。为了能够完全控制环境,我决定使用MacPorts安装整个AMP堆栈。不要担心覆盖现有文件,因为所有文件都将安装在不同的位置。只需确保在启动新安装的Apache之前禁用库存Apache。有很多关于如何完成这项工作的教程。

我选择的IDE是Komodo IDE。这个IDE开箱即用,使用预先配置的xdebug设置进行集成调试。出于兼容性原因(PHP 5.3+),我最终编译并使用最新的xdebug版本而不是库存版本。许多开发人员使用前面提到的Eclipse + PDT,它提供了类似的IDE,但是为了正确配置它,还需要做更多的工作。

对于远程调试,我已经在apache中配置了PHP模块以加载xdebug并连接到我正在运行的IDE。有关详细信息,请访问here。对于复杂的Web应用程序,如果您只需打开浏览器,导航到正确的网页并激活调试以进入该页面的第一行代码,这是理想的选择。

对于性能测试和调优,我使用xdebug的profiling feature。启用后,xdebug会将callgrind文件写入特定目录。我使用MacCallGrind来可视化地分析探查器文件。有一个名为KCacheGrind的免费替代品,如果您启用了MacPorts,可以安装(如第一个建议中所述)。

我使用这个环境来开发相当复杂和大型的多宿主项目,包括使用分叉(daemonized)的PHP应用程序,这些应用程序利用分支和IPC结构以及扩展内存等扩展。我很满意这个设置对我有用。

答案 1 :(得分:1)

有一种方法可以使用:

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)

答案 2 :(得分:0)

我也对更好的解决方案感兴趣,但我怀疑是否有一个。
像NetBeans,Eclipse或MacGDBp这样的前端的xdebug可能就是下注的地方。