【问题标题】:php debugging on a Mac?Mac上的php调试?
【发布时间】:2010-09-29 15:26:53
【问题描述】:

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

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

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

谢谢, 马特

【问题讨论】:

    标签: php debugging macos


    【解决方案1】:

    我自己是 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 直观地分析分析器文件。如果您启用了 MacPorts(如第一个建议中所述),则可以安装一个名为 KCacheGrind 的免费替代方案。

    我使用这个环境来开发相当复杂的大型多宿主项目,包括使用分叉和 IPC 结构和扩展(如 memcache)的命令行(守护进程)PHP 应用程序。我对这个设置对我的工作方式非常满意。

    【讨论】:

      【解决方案2】:

      有一种方法可以使用:

      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 首选项 => 语言和框架 => PHP => 服务器: 名称:本地主机:8080 主机:本地主机 端口: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 应用程序

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

      6) 点击开始监听 PHP 调试连接 7) 设置断点 7) 点击调试(绿虫)

      【讨论】:

        【解决方案3】:

        我也对更好的解决方案感兴趣,但我怀疑是否存在。
        使用 NetBeans、Eclipse 或 MacGDBp 等前端的 xdebug 可能是下注的地方。

        【讨论】:

          猜你喜欢
          • 2010-12-14
          • 2016-08-04
          • 2012-01-08
          • 1970-01-01
          • 2017-12-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-01-12
          相关资源
          最近更新 更多