PhpStorm 2025.2 Help

验证调试引擎的配置

PhpStorm 可以验证本地或远程 Web 服务器上的 Xdebug 配置,检测缺失或与其他设置不一致的配置,解释不一致之处并提供修复建议。 运行 | Web 服务器调试验证 对话框根据验证的执行方式和位置提供了多个选项:

  • 输出 phpinfo(). PhpStorm 解析您从 php -i CLI 命令或从 phpinfo() 渲染的网页中手动复制并粘贴的输出。

  • 本地Web 服务器或共享文件夹(L). PhpStorm 检查与本地 Web 服务器关联的调试器。 为此,它会创建一个临时验证脚本(_intellij_phpdebug_validator.php ),将其部署到目标环境,在那里运行,然后获取并显示输出。

  • 远程Web 服务器(R). PhpStorm 检查与远程服务器关联的调试器。 为此,它会创建一个临时验证脚本(_intellij_phpdebug_validator.php ),将其部署到目标远程环境,在那里运行,然后获取并显示输出。

  • 调试验证脚本. PhpStorm 为验证脚本(phpstorm_index.php )生成一个 CLI 命令。 您可以复制并手动在运行的服务器上执行此命令,然后让 PhpStorm 获取并显示输出。

  1. 转到 运行 | Web 服务器调试验证

  2. 在打开的 验证Web 服务器上的调试器配置 对话框中,选择调试器验证方法并指定所需的参数。

    验证 Web 服务器上的调试器配置对话框
    • 输出 phpinfo()

      输出 phpinfo():

      在此字段中,复制并粘贴 php -i CLI 命令的输出或从 phpinfo() 渲染或源 HTML 输出。

    • 本地Web 服务器或共享文件夹(L)

      放置验证脚本的目录(D)

      在此字段中,指定服务器文档根目录下将创建验证脚本的文件夹的绝对路径。 对于 Inplace 类型的 Web 服务器,文件夹位于项目根目录下。

      该文件夹必须通过 HTTP 可访问。

      指向包含脚本的目录的URL(U)

      在此字段中,输入将创建验证脚本的文件夹的 URL 地址。 如果项目根目录映射到通过 HTTP 可访问的文件夹,您可以指定项目根目录或其下的任何其他文件夹。

    • 远程Web 服务器(R)

      放置验证脚本的目录(D)

      在此字段中,指定服务器文档根目录下将创建验证脚本的文件夹的绝对路径。 该文件夹必须通过 HTTP 可访问。

      部署服务器(D)

      在此字段中,指定访问目标环境的 Local ServerRemote Server 类型的服务器访问配置。 有关更多信息,请参阅 连接到 Web 服务器

      从列表中选择一个配置,或在 Deployment dialog 中单击 浏览 “浏览”按钮

    • 调试验证脚本

      下载脚本命令

      将 CLI 命令复制到剪贴板( ),并在服务器上已部署项目的目录中执行它,以下载并解压脚本。

      指向包含脚本的目录的URL(U)

      在此字段中,输入部署验证脚本的文件夹的 URL 地址。 如果项目根目录映射到通过 HTTP 可访问的文件夹,您可以指定项目根目录或其下的任何其他文件夹。

  3. 点击 验证(V)。 PhpStorm 显示调试器配置检查的列表,包括其状态和描述,并在可能的情况下为不一致的设置提供修复建议。

    Xdebug 配置检查

    使用 调试验证脚本 选项,您还可以在浏览器中打开从下载的脚本包中提取的 phpstorm_index.php 文件。

    Xdebug 验证报告

排查验证结果

连接被拒绝

连接到您的 Web 服务器时出现问题。 确保 URL(和端口)正确;这些信息在验证脚本选项的 URL 或部署中提供给您的 Web 服务器。

检查验证脚本的 Web 路径是否配置正确

本地项目中的 放置验证脚本的目录(D) 未映射到 验证脚本的 URL部署 URL 选项。 如果您使用的是框架或 PHP 内置 Web 服务器 ,这可能是由于框架发送了 404 响应,而不是发送该目录中的实际文件。

快速测试方法是,在您设置为 放置验证脚本的目录(D) 的目录中创建一个 test.php 文件,然后检查该文件是否可以通过验证脚本的 URL 或附加了 test.php 的部署 URL 调用。

例如,如果 放置验证脚本的目录(D) 设置为 /var/www/public ,请在该文件夹中创建一个包含以下内容的 test.php 文件:

<?php echo 'test works';

如果您的 验证脚本的 URL部署(D) URL 是 http://192.168.100.100:8080 ,那么您应该能够通过访问 http://192.168.100.100:8080/test.php 调用该脚本,并查看 "test works" 输出。 如果您看到由框架生成的 404 ,那么您的 URL 重写配置错误,您应该查阅框架的文档,以确保 URL 重写配置在发送任何其他请求到框架调度器之前会返回实际文件(如果存在)。

如果您看到 404 并且您使用的是 PHP 内置 Web 服务器 ,这可能是因为您无法配置此 Web 服务器以在文件系统中存在文件时提供这些文件。 您需要将以下代码添加到您发送所有请求的文件中(通常是 index.php ),以便在文件系统中存在文件时发送这些文件:

if (PHP_SAPI == 'cli-server') { // To help the built-in PHP dev server, check if the request was actually for // something which should probably be served as a static file $file = __DIR__ . $_SERVER['REQUEST_URI']; if (is_file($file)) { return false; } }

远程主机被配置为 'localhost',尽管服务器主机可能不是本地的

验证脚本的 URL 包含的内容与 localhost 不同,但 xdebug.remote_host 值未设置,因此使用默认值 localhost ,或设置为 localhost127.0.0.1

指定的 URL 无法访问,原因是:'请求失败,状态码为 404'

当服务器文档根目录与项目根目录不同且未相应配置部署路径映射时,可能会发生此问题。

请参考以下示例:

  • 项目存储在 /MyProject 文件夹中。

  • 服务器文档根目录设置为其 public 子文件夹,即 /MyProject/public

  • 访问应用程序的 URL 是 http://MyApp.test

如果整个项目根文件夹映射到服务器文档根目录,PhpStorm 将尝试通过 http://MyApp.test/public/_intellij_phpdebug_validator.php URL 访问验证脚本,这将导致 404 错误。 为解决此问题,您需要在 public 子文件夹和服务器文档根目录之间设置明确的映射。

  1. 设置 对话框 (Ctrl+Alt+S) 中,前往 构建、执行、部署 | 部署(D)

  2. 选择您的部署服务器,并在 映射 选项卡上,单击 添加新映射 按钮。

  3. 添加一个额外的条目,将 /MyProject/public 文件夹映射到服务器文档根目录 /

    调试器验证的部署映射

这样一来,访问验证脚本的 URL 就变成了正确的 http://MyApp.test/_intellij_phpdebug_validator.php

最后修改日期: 2025年 9月 26日