PhpStorm 2021.3 Help

验证调试引擎的配置

PhpStorm 可以验证您的XdebugZend Debugger配置,并告诉您某些设置是否丢失或与其他设置不一致。在为项目配置 PHP 解释器时,PhpStorm 会通知您是否在本地 PHP 开发环境中安装了调试器,并报告使用的XdebugZend 调试器版本。有关详细信息,请参阅配置调试引擎配置本地 PHP 解释器配置远程 PHP 解释器

您还可以获得有关本地或远程 Web 服务器上的调试引擎的更多详细信息。

  1. 从主菜单中,选择运行 | Web 服务器调试验证

  2. 在打开的验证远程环境对话框中,选择要验证调试器的 Web 服务器。

    • 选择本地 Web 服务器或共享文件夹以检查与本地 Web 服务器关联的调试器。

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

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

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

    • 选择远程 Web 服务器以检查与远程服务器关联的调试器。

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

      • 部署服务器:在此字段中,指定类型为本地服务器远程服务器的服务器访问配置以访问目标环境。有关详细信息,请参阅配置与 Web 服务器的同步

        从列表中选择一个配置或单击“部署”对话框中的“浏览 ” 。浏览按钮

  3. 单击验证让 PhpStorm 创建一个验证脚本,将其部署到目标远程环境,并在那里运行它。

验证结果疑难解答

拒绝连接

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

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

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

一种快速的测试方法是在您设置为创建验证脚本的路径的目录中创建一个test.php文件,然后检查该文件是否可从 URL 调用到验证脚本或部署 URL 并附加。test.php

例如,如果创建验证脚本的路径设置为/var/www/public,则在该文件夹中创建一个包含以下内容的test.php文件:

<?php echo '测试工作';

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

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

if (PHP_SAPI == 'cli-server') { // 为了帮助内置的 PHP 开发服务器,检查请求是否实际上是针对 // 应该作为静态文件提供的东西 $file = __DIR__ 。$_SERVER['REQUEST_URI']; if (is_file($file)) { return false; } }

尽管服务器主机可能不是本地主机,但远程主机配置为“localhost”

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

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

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

考虑以下示例:

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

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

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

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

  1. Settings/Preferences对话框 ( Ctrl+Alt+S) 中,转到Build、Execution、Deployment | 部署

  2. 选择您的部署服务器,然后在Mappings选项卡上,单击Add New Mapping按钮。

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

    调试器验证的部署映射

因此,访问验证脚本的 URL 变为正确的http://MyApp.test/_intellij_phpdebug_validator.php

最后修改:2021 年 8 月 27 日