在Mac上调试php?

在Mac上调试php?,php,debugging,macos,Php,Debugging,Macos,我看到了这些答案: 但我希望有更好/更新的解决方案。我是一名系统级开发人员(C/C++/x86),但对web/脚本编写领域完全陌生。我觉得我可以很好地设置一个可靠的调试环境——这通常是我学习的一个很好的方法 任何关于在Mac(10.6)上进行良好php调试设置的建议/建议都将不胜感激 谢谢, 马特我也对更好的解决方案感兴趣,但我怀疑是否有更好的解决方案。 带有NetBeans、Eclipse或MacGDBp等前端的xdebug可能是下注的地方。我自己也是Mac用户,因为我做了一些繁重的PHP开发

我看到了这些答案:

但我希望有更好/更新的解决方案。我是一名系统级开发人员(C/C++/x86),但对web/脚本编写领域完全陌生。我觉得我可以很好地设置一个可靠的调试环境——这通常是我学习的一个很好的方法

任何关于在Mac(10.6)上进行良好php调试设置的建议/建议都将不胜感激

谢谢,
马特

我也对更好的解决方案感兴趣,但我怀疑是否有更好的解决方案。

带有NetBeans、Eclipse或MacGDBp等前端的xdebug可能是下注的地方。

我自己也是Mac用户,因为我做了一些繁重的PHP开发,所以我需要为此进行精心设置

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

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

为了进行远程调试,我在apache中配置了PHP模块,以加载xdebug并连接到我正在运行的IDE。更多关于这方面的信息可以找到。对于复杂的web应用程序,如果您只需打开浏览器,导航到正确的网页并激活调试即可进入该页面的第一行代码,这将是理想的选择

对于性能测试和调优,我使用xdebug的。启用时,xdebug将把callgrind文件写入特定目录。我使用可视化分析探查器文件。如果启用MacPorts(如第一个建议中所述),则可以安装名为KCacheGrind的免费替代方案

我使用这个环境来开发非常复杂和大型的多宿主项目,包括使用forking和IPC结构以及memcache等扩展的命令行(daemonized)PHP应用程序。我对这种设置的工作方式非常满意。

有一种方法可以使用:
  • 自制 ruby-e“$(curl-fsSL)”

  • Php+Xdebug

1) 安装php并调试

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

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

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

php -S localhost:8080
3) 将localhost:8080添加到PhpStorm Preferences=>Language and Frameworks=>PHP=>Servers: 名称:Localhost:8080 主机:本地主机 端口:8080 调试器:Xdebug

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

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

  • 选择Localhost:8080服务器
6) 单击开始侦听Php调试连接 7) 设置断点 7) 单击调试(绿色错误)

[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)