PhpStorm 2021.3 Help

配置 Zend 调试器

下载并安装 Zend 调试器

  1. 下载与您的操作系统对应的Zend Debugger 包。

  2. 在对应于您的 PHP 版本(例如php-7.0.x )的目录中找到ZendDebugger.so (Unix) 或ZendDebugger.dll (Windows) 文件。

  3. 将文件复制到 Web 服务器可访问的位置。

启用 Zend Debugger 与 PHP 解释器的集成

  1. 在编辑器中打开活动的php.ini文件:

    1. 在“设置/首选项”对话框 ( Ctrl+Alt+S) 中,单击PHP

    2. 在打开的PHP页面上,单击CLI Interpreter字段浏览按钮旁边的。

    3. 在打开的CLI 解释器对话框中,配置文件只读字段显示活动php.ini文件的路径。单击在编辑器中打开

  2. 找到或创建该[Zend]部分。

  3. [Zend]要加载 Zend Debugger 扩展,请根据您的操作系统在该部分中添加以下行之一:

    zend_extension=<full_path_to_ZendDebugger.so>
    zend_extension=<full_path_to_ZendDebugger.dll>
  4. 要允许从 PhpStorm 访问 Zend Debugger,请添加以下行:

    zend_extension=<full_path_to_zend_debugger_extension> zend_debugger.allow_hosts=127.0.0.1 zend_debugger.expose_remotely=allowed_hosts zend_debugger.tunnel_min_port=<任何大于 1024 的整数值> zend_debugger.tunnel_max_port=<任何小于 65535 的整数值>

    zend_debugger.allow_hosts参数的值是您的机器的 IP 以连接到服务器调试器。它可以是格式为逗号分隔的 IP 列表X.X.X.X(例如,192.168.0.6)。

  5. 重新启动您的 Web 服务器。

  6. 要检查 Zend Debugger 是否已正确安装和配置,请创建一个包含以下内容的文件:

    <?php phpinfo();

    在浏览器中打开与文件对应的页面。输出应该包含Zend Debugger部分。

将 Zend 调试器与 PhpStorm 集成

  1. Ctrl+Alt+S打开 IDE 设置并选择PHP

  2. 检查与所选 PHP 解释器关联的Zend Debugger安装:

    1. PHP页面上,从CLI Interpreter列表中选择相关的 PHP 安装,然后单击浏览按钮字段旁边的。该列表显示了 PhpStorm 中可用的所有 PHP 安装,请参阅配置本地 PHP 解释器配置远程 PHP 解释器

    2. 打开的CLI 解释器对话框显示以下内容:

      • 所选 PHP 安装的版本。

      • 与所选 PHP 安装(Xdebug 或 Zend Debugger)关联的调试引擎的名称和版本。如果没有配置调试器,PhpStorm 会显示相应的消息:

        ps_interpreters_debugger_not_installed.png

    在验证调试引擎的配置中了解有关检查Zend 调试器安装的更多信息。

  3. 定义 Zend 调试器行为。单击PHP节点下的调试。在打开的Debug页面上,在Zend Debugger区域中指定以下设置:

    • Debug Port字段中,指定 PhpStorm 与工具通信的端口。通过和键入在php.ini文件中指定的隧道内的端口号。有关详细信息,请参阅Zend 调试器 - 配置指令zend_debugger.tunnel_min_portzend_debugger.tunnel_max_port

    • 要让 PhpStorm 通过调试端口字段中指定的端口接受来自 Zend 调试器引擎的任何传入连接,请选中可以接受外部连接复选框。

    • 要在浏览器中使用调试器工具栏,请在“设置广播端口”字段中指定将调试器设置传递给浏览器的端口。

    • 使用自动检测 IDE IP复选框来启用和禁用热 IP 地址的自动检测。选择该复选框后,PHPSTORM会通过debug_host参数检测要发送到Zend调试器的所有主机IP地址。所有检测到的 IP 地址都列在右侧的字段中。当您使用VagrantVirtualBox或其他虚拟化工具时,自动检测 IP 地址很有帮助。

      清除复选框以阻止自动检测主机 IP 地址并在字段中明确指定所需的地址。

  4. External Connections区域中,指定您希望 PhpStorm 如何处理从主机和通过未注册为部署服务器配置的端口接收的连接。

    • 通过未注册的服务器配置忽略外部连接:选中此复选框可让 PhpStorm 忽略从主机和未注册为部署服务器配置的端口接收的连接。选中此复选框后,PhpStorm 不会尝试自动创建部署服务器配置。

    • Break at first line in PHP scripts : 选中此复选框可在调试器与 PhpStorm 之间的连接建立后立即停止(而不是在到达第一个断点之前自动运行)。或者打开运行 | 在主菜单中的 PHP 脚本选项中的第一行中断。

    • 最大限度。同时连接使用此旋转框来限制可以同时处理的外部连接的数量。

  5. 如果来自Z-Ray 系统的请求因过于频繁地调用 PhpStorm 调试器而惹恼您,要阻止它们,请选中忽略 Z-Ray 系统请求复选框。

配置 Zend Debugger 以在按需模式下使用

PhpStorm 支持On-Demand模式,您可以在其中为您的全局 PHP 安装禁用 Zend Debugger,并仅在调试命令行脚本或需要代码覆盖率报告时按需自动启用它。这让您的命令行脚本(包括 Composer 和单元测试)运行得更快。

  1. 禁用命令行脚本的 Zend 调试器:

    • 设置/首选项对话框 ( Ctrl+Alt+S) 中,转到PHP

    • PHP 可执行文件列表中,选择相关的 PHP 解释器并单击浏览按钮它旁边的。在打开的CLI 解释器对话框中,单击配置文件旁边的在编辑器中打开链接:<path to php.ini>文件。关闭所有对话框并切换到打开php.ini文件的选项卡。

    • php.ini文件中,找到该[Zend]部分并通过添加;介词来注释其中的以下行:

      ;zend_extension=<full_path_to_ZendDebugger.so>
      ;zend_extension=<full_path_to_ZendDebugger.dll>
    • 打开CLI Interpreters对话框并单击PHP 可执行文件字段重新加载按钮旁边的。PhpStorm 通知您未安装调试器:

      ps_interpreters_debugger_not_installed.png
  2. 要使 PhpStorm 在必要时激活 Zend Debugger ,请在Additional区域的Debugger extension字段中指定它的路径。手动键入路径或单击并在打开的对话框中选择位置。浏览按钮

最后修改时间:2021 年 5 月 19 日