PhpStorm 2021.3 Help

从命令行启动调试会话

您可以从命令行开始调试 PHP CLI 脚本,让 PhpStorm 侦听传入的调试器连接。

  1. 在必要时设置断点。

  2. 在工具栏上,单击开始侦听 PHP 调试连接按钮 Start Listening for PHP Debug Connections按钮或选择Run | 从主菜单开始侦听 PHP 调试连接。

  3. 使用调试器选项启动脚本,具体取决于您使用的调试引擎 - Xdebug 或 Zend Debugger。

使用 Xdebug 启动脚本

Xdebug 有各种配置选项,可用于让 PHP 解释器访问 PhpStorm。这些参数必须使用-d命令行开关传递给 PHP 解释器。更方便的是设置一个不需要一直提供-d开关的环境变量。

使用 PHP 命令行开关启动脚本并进行调试

  • 使用以下命令行选项启动 PHP:

    php -dxdebug.mode=debug -dxdebug.client_host=127.0.0.1 -dxdebug.client_port=9003 -dxdebug.start_with_request=yes path/to/script.php
    php -dxdebug.remote_enable=1 -dxdebug.remote_mode=req -dxdebug.remote_port=9000 -dxdebug.remote_host=127.0.0.1 -dxdebug.remote_connect_back=0 path/to/script.php

使用环境变量启动脚本并进行调试

  1. 设置一个配置 Xdebug 的环境变量:

    • 对于 Windows:

      设置 XDEBUG_MODE=debug& 设置 XDEBUG_SESSION=1
      设置 XDEBUG_CONFIG=remote_enable=1 remote_mode=req remote_host=127.0.0.1 remote_port=9000 remote_connect_back=0
    • 适用于 macOS / Linux

      导出 XDEBUG_MODE=调试 XDEBUG_SESSION=1
      导出 XDEBUG_CONFIG="remote_enable=1 remote_mode=req remote_host=127.0.0.1 remote_port=9000 remote_connect_back=0"
  2. 正常启动脚本:

    php 路径/到/script.php

    或者,您可以使用 Xdebug 的remote_autostart(对于 Xdebug 2)或start_with_request(对于 Xdebug 3)设置来始终为每个运行的脚本启动调试会话。

使用 Zend Debugger 启动脚本

Zend Debugger 有各种配置选项,可用于让 PHP 解释器访问 PhpStorm。这些参数必须使用环境变量传递给 PHP 解释器:

设置 QUERY_STRING=start_debug=1&debug_host=127.0.0.1&no_remote=1&debug_port=10137&debug_stop=1
export QUERY_STRING="start_debug=1&debug_host=127.0.0.1&no_remote=1&debug_port=10137&debug_stop=1"

配置路径映射

要告诉 PhpStorm 应该为来自特定机器的连接使用哪个路径映射配置,请将PHP_IDE_CONFIG环境变量的值设置为serverName=SomeName,其中SomeName是在“服务器”页面上定义的调试服务器配置的名称,请参阅创建 PHP 调试服务器配置。根据您使用的操作系统,将值设置为以下格式之一:

设置 PHP_IDE_CONFIG=serverName=SomeName
导出 PHP_IDE_CONFIG="serverName=SomeName"

故障排除

  • 调试服务器配置不是通过PHP_IDE_CONFIG环境变量指定的。在这种情况下,PhpStorm 会检测到主机和端口,如果不存在,则$_SERVER['SSH_CONNECTION']建议创建新的调试服务器配置。即使没有隧道,这也适用于通过ssh进行的所有连接。

  • 调试服务器配置不是通过PHP_IDE_CONFIG环境变量指定的,也$_SERVER['SSH_CONNECTION']没有定义。在这种情况下,将显示一条警告,其中包含指向通过环境变量指定调试服务器配置的指令的链接。PHP_IDE_CONFIG

  • 调试服务器配置是通过环境变量指定的,但PHP_IDE_CONFIG使用了错误的格式,PhpStorm 显示错误消息和说明。

  • PHP_IDE_CONFIG环境变量配置正确,但指定的调试服务器配置不存在,PhpStorm 显示警告并带有指向服务器页面的链接。

最后修改:2022 年 1 月 14 日