【问题标题】:PHPStorm + XDebug Setup WalkthroughPHPStorm + XDebug 设置演练
【发布时间】:2012-02-29 06:57:01
【问题描述】:

直到最近,我一直在用 PHP 编写代码(通过 Notepad++)并通过检查 IIS 中的日志进行调试(一定喜欢那个 web 平台安装程序);从那以后,我决定更新到更高效的代码编写/测试环境,并且在使用 PHPStorm 玩了一会儿之后,决定购买并尝试一下。从那时起,我意识到就教程和演练而言,PHPStorm 有点短。看了手册(RTFM,我知道),并想出来,我想问一下是否有人愿意通过使用 XDebug 设置 PHPStorm 来帮助我,这样我就可以停止讨厌自己不学习底层系统足够好,然后回到编码。

TLDR;有人可以发布设置 PHPStorm + XDebug 的详细演练吗?假设我的愚蠢程度最高(我通常在 ASP.NET 世界中能胜任,但我正在接近通常与 PHP 世界中某些形式的航海海绵相关的智能水平)。

环境是安装了 IIS 和 PHP 的 Windows 7 Ultimate(64 位)。

【问题讨论】:

  • 不是对您问题的直接回答,但有许多 XDebug 助手可用于所有主要浏览器,可以轻松连接到您的调试会话。查看 chrome.google.com/webstore/detail/xdebug-helper/… 的 Chrome。
  • 你从记事本转到 PHPStorm :) :) 哈哈

标签: xdebug phpstorm


【解决方案1】:
  1. 在您的本地 PHP 上安装 xdebug - 实际上使用包含 xdebug 的方式更新您的 php v: https://floyk.com/en/post/how-to-update-php-version-on-your-macbook-macos-sierra

  2. 设置你的 xdebug.ini

    zend_extension=/usr/local/php5/lib/php/extensions/no-debug-non-zts-20180731/xdebug.so [xdebug] xdebug.remote_enable=on xdebug.default_enable=on xdebug.remote_autostart=off xdebug.remote_port=9000 xdebug.remote_host=localhost xdebug.profiler_enable_trigger=1 xdebug.profiler_output_name=xdebug-profile-cachegrind.out-%H-%R xdebug.var_display_max_children = 128 xdebug.var_display_max_data = 512 xdebug.var_display_max_depth = 3 xdebug.remote_enable = 1 xdebug.idekey = PHPSTORM xdebug.show_error_trace = 1 xdebug.file_link_format = phpstorm://open?%f:%l

  3. 在您的 Chrome 浏览器中安装 Xdebug 助手: Install Xdebug helper

  4. 在您的 PhpStorm 中转到 Settings/Preferences->Languages & Frameworks->PHP->Debug

  • 如果需要,更新您的自动检测 IDE IP,然后按确定

你已经完成了。

您可以在此处找到更详细的“逐步”指南:

https://floyk.com/en/post/how-install-php-with-xdebug-on-mac-os

【讨论】:

    【解决方案2】:

    如果您不需要远程调试,您可以轻松调试您的项目。

    首先检查您的 php.ini 设置。

    确保您的 xdebug dll 存在并且设置已开启。

    xdebug.remote_enable = on
    xdebug.profiler_enable = on
    xdebug.profiler_enable_trigger = on
    xdebug.profiler_output_name = cachegrind.out.%t.%p
    xdebug.profiler_output_dir = "c:/wamp/tmp"
    xdebug.show_local_vars=0
    

    然后转到顶部导航栏中的“运行”菜单。然后选择编辑配置并添加新配置(不要更改其他项目的默认设置)

    点击添加新项目按钮。

    添加新的php web 应用程序

    如果您没有任何服务器(在windows或linux上通常指向80端口的localhost),请单击如下所示的按钮。

    使用 xdebug 添加新服务器。

    然后单击确定并检查您的配置

    最后会在ide右侧看到配置。

    单击“运行”或“调试”按钮。

    【讨论】:

      【解决方案3】:

      1.安装 xdebug 模块 (MAC安装步骤)
      1.1.1。检查您使用的 PHP 版本 php --ini(请参阅加载的文件)
      1.1.2。 brew search xdebug
      1.1.3。酿造安装phpXX-xdebug
      1.1.4。查看详情:php -i | grep xdebug
      1.2.重启服务器
      1.3.配置
      1.3.1。 sudo find /usr -name 'xdebug.so'
      1.3.2.复制您需要的确切路径
      example: /usr/local/Cellar/php56-xdebug/2.3.2/xdebug.so
      1.3.3.编辑应该自动注入到主php.ini的扩展相关配置文件:
      subl /usr/local/etc/php/5.6/conf.d/ext-xdebug.ini
      1.3.4。将zend_extension 添加为=上面复制的路径

       [xdebug]  
       zend_extension="/usr/local/Cellar/php56-xdebug/2.3.2/xdebug.so"
      

      普通文件应该是这样的:

      [xdebug]
      zend_extension="/usr/local/Cellar/php56/5.6.4/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so"
      
      
      xdebug.remote_enable=1
      xdebug.remote_host=localhost
      xdebug.remote_port=9000
      xdebug.remote_handler="dbgp"
      xdebug.remote_autostart=1
      xdebug.profiler_enable=1
      xdebug.profiler_output_dir="~/xdebug/phpstorm/tmp"
      xdebug.idekey=PHPSTORM
      

      2。检查您的 PHP 版本
      php --ini
      3.设置 IDE 设置
      偏好 > 语言和框架 > PHP >
      3.1。将语言级别设置为此项目的正确 PHP 版本
      3.2.设置解释器(设置加载 PHP 可执行文件的 bin 目录的父目录)
      3.2.1。单击 ... 按钮 > 单击 + 按钮 > 其他本地 > 设置 PHP Excitable 路径,
      在终端中查找路径类型:$ which php
      example: /usr/local/Cellar/php56/5.6.5/bin/php
      4.重启 phpstorm
      5.现在让我们让它工作
      5.1。运行 > 编辑配置 > 单击左侧的绿色 + 按钮 > 选择 b。 php 网络应用程序
      5.2.名称:任何示例 ur {应用程序名称 - 调试器}
      5.3.服务器:本地主机(浏览 > + > 名称:随便 | 主机:本地主机或 127.0.0.1)
      5.4.点击确定
      5.5.起始地址:你的项目主页链接:http://127.0.0.1:80/SomethingNew/
      5.6.单击确定
      6.现在设置断点并点击调试

      【讨论】:

      • 我见过的关于这个主题的最佳演练。奇迹般有效!谢谢!
      【解决方案4】:

      昨天第一次接触XDebug远程调试的时候遇到了一些麻烦。

      一些一般提示,无论如何,您都会被各种教程和指南所淹没。

      • 您在 PHP/Aache 端的 XDebug 配置:
        xdebug.remote_enable=1
        xdebug.remote_port=9000
        xdebug.idekey=PHPSTORM
        xdebug.remote_connect_back=1
      • 您需要使用上面给出的 remote_connect_back(小心,这意味着其他人也可以在启用时调试您的服务器)或者您指定您的 IP 地址 (remote_host)。
      • 在客户端,您需要让路由器转发端口 9000!
      • 您需要在防火墙中允许 PHPStorm 用于传入连接(对我而言,Windows 8 默认情况下未启用)。打开端口 9000 或应用程序本身。
      • 在 PHPStorm 上,确保进入调试配置并且不使用默认调试(PHPUnit!)使用“PHP 远程调试”(运行/调试配置 -> 左上角的加号)
      • 您需要告诉 PHPStorm 您的项目在网络服务器上的绝对路径,如果您在此处出错(然后忘记了),无论如何您都会收到提示。
      • 现在在 PHPStorm 中调试您的项目,同时启用“侦听连接”并在您的代码中放置一个断点。
      • 使用您的网络浏览器打开您的网站/php 文件,同时启用启动调试器的 cookie。 (在大多数情况下,cookie 是最好的方法)。您可以使用书签(google for phpstorm 调试书签)或扩展。

      即使遵循指南,我还是错过了上述几点。我希望我可以节省几个小时的挣扎:)

      【讨论】:

      • 加一个用于 xdebug.remote_connect_back=1 部分!谢谢
      • 小心设置,一不留神很危险
      【解决方案5】:

      让 Xdebug 与 PhpStorm 一起工作真的很简单,只需 follow this guide carefully。 (注意:Updated version of the guide is here

      更多高级话题read this

      【讨论】:

      • 我应该下载TS版还是非TS版的XDebug?自动指令生成器无法从我提供的“php -i”信息中解析任何有用的信息。
      • 这取决于您拥有的 PHP 版本,请在虚拟页面上检查 phpinfo() 的输出,或者自己尝试从php -i 中找出答案。
      • 嗯。线程版本似乎最合适,但缺少安装说明...
      • 如果自动生成的指令无法解析,是否提交错误报告? (bugs.xdebug.org)
      • 这里有更新版本的指南:confluence.jetbrains.com/display/PhpStorm/…
      【解决方案6】:

      部分基于 CrasyCoder 的帖子,我找到了一个更现代、更简单的解决方案。 您需要执行的步骤如下:

      1. 如果您全新的 php 安装不包含 php.ini,请将 php.ini-development 重命名为 php.ini
      2. 在向导的帮助下安装 xdebug:http://xdebug.org/wizard.php 从字面上遵循它的建议。
      3. 在您的 php.ini 中输入字符串:xdebug.remote_enable=1
      4. 进入 PhpStorm 的设置:settings->php.选择或重新选择包含 php.ini 的目录。确保您看到 'Debugger: Xdebug x.x.x' 字符串(其中 x.x.x 代表已安装版本)
      5. 从这里为您喜欢的浏览器安装扩展:http://xdebug.org/docs/remote
      6. 从主菜单(不是设置窗口)转到“运行->编辑配置”并添加新的“PHP 内置 Web 服务器”配置。将“文档根目录”指向您的项目目录。记下端口号。
      7. Chrome 浏览器:启用扩展,按下多功能框最右侧的小错误并选择“调试”选项。其他浏览器的扩展应该类似地工作。
      8. 在 PhpStorm 的菜单中启用“运行 -> 开始侦听 PHP 调试连接”选项。
      9. 在 PhpStorm 的代码中设置断点。
      10. 运行(而非调试)您在第 6 步中创建的配置。
      11. 在您的浏览器中转到 localhost:port,其中“端口”是第 6 步中的端口。您的 PhpStorm 应该在断点处停止,您可以开始压缩代码中的错误。

      考虑到:

      每个 php 安装都会执行一次步骤 1-5
      每个 PhpStorm 项目都会执行一次步骤 6
      每个调试会话都会执行一次步骤7-8
      每个程序都运行步骤9-11

      【讨论】:

      • 很好的解决方案,谢谢。但是:“错误:内置网络服务器仅在 PHP 5.4 之后可用”我的是 5.3.8 ...
      • 请不要假设每个人都在使用 PHP 的内置网络服务器。使用现有/已配置的 Nginx 和 FPM 配置需要说明。
      • 这是为我工作的一个,经过无数小时。 Jetbrains 软件对我来说通常都很棒,但是让 PHPStorm 进行调试却非常令人沮丧。
      • 在单击编辑器视图右上角的浏览器图标后,我终于让它工作了。它们仅在悬停在它们上时可见
      猜你喜欢
      • 1970-01-01
      • 2013-07-28
      • 2014-08-10
      • 2021-08-28
      • 2022-01-09
      • 2017-04-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多