【问题标题】:debugging php on mac?在mac上调试php?
【发布时间】:2010-12-14 04:49:21
【问题描述】:

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

谢谢, 帕特里克

【问题讨论】:

    标签: php debugging macos mamp


    【解决方案1】:

    即使没有 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 首选项 => 语言和框架 => 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) 点击调试(绿虫)

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          【解决方案4】:

          使用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),您将获得一个经典的调试器。您可以单步执行您的程序。

          玩得开心!

          【讨论】:

            【解决方案5】:

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

            【讨论】:

              【解决方案6】:

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

              如果你不喜欢 Eclipse 或者觉得它对你来说太过分了,还有其他与 XDebug 兼容的clients

              【讨论】:

                【解决方案7】:

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

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

                【讨论】:

                  【解决方案8】:

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

                  【讨论】:

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