验证调试引擎的配置
PhpStorm 可以验证您的Xdebug或Zend Debugger配置,并告诉您某些设置是否丢失或与其他设置不一致。在为项目配置 PHP 解释器时,PhpStorm 会通知您是否在本地 PHP 开发环境中安装了调试器,并报告使用的Xdebug或Zend 调试器版本。有关详细信息,请参阅配置调试引擎、配置本地 PHP 解释器和配置远程 PHP 解释器。
您还可以获得有关本地或远程 Web 服务器上的调试引擎的更多详细信息。
从主菜单中,选择
。在打开的验证远程环境对话框中,选择要验证调试器的 Web 服务器。
选择本地 Web 服务器或共享文件夹以检查与本地 Web 服务器关联的调试器。
创建验证脚本的路径:在此字段中,指定将在其中创建验证脚本的服务器文档根目录下的文件夹的绝对路径。对于Inplace类型的 Web 服务器,该文件夹位于项目根目录下。
该文件夹必须可通过http访问。
验证脚本的 URL:在此字段中,输入将在其中创建验证脚本的文件夹的 URL 地址。如果项目根目录映射到可通过http访问的文件夹,您可以指定项目根目录或其下的任何其他文件夹。
选择远程 Web 服务器以检查与远程服务器关联的调试器。
创建验证脚本的路径:在此字段中,指定将在其中创建验证脚本的服务器文档根目录下的文件夹的绝对路径。该文件夹必须可通过http访问。
部署服务器:在此字段中,指定类型为本地服务器或远程服务器的服务器访问配置以访问目标环境。有关详细信息,请参阅配置与 Web 服务器的同步。
从列表中选择一个配置或单击“部署”对话框中的“浏览 ” 。
单击验证让 PhpStorm 创建一个验证脚本,将其部署到目标远程环境,并在那里运行它。
验证结果疑难解答
拒绝连接
连接到您的 Web 服务器时出现问题。确保 URL(和端口)正确;这些在 URL 到验证脚本选项中或在您的部署中提供给您的 Web 服务器。
请检查验证脚本的 Web 路径是否正确配置为...
在本地项目中创建验证脚本的路径不会映射到验证脚本的 URL或部署 URL选项。如果您使用的是框架或PHP 内置 Web 服务器,这可能是由于框架发送404
响应而不是发送该目录中的实际文件。
一种快速的测试方法是在您设置为创建验证脚本的路径的目录中创建一个test.php文件,然后检查该文件是否可从 URL 调用到验证脚本或部署 URL 并附加。test.php
例如,如果创建验证脚本的路径设置为/var/www/public,则在该文件夹中创建一个包含以下内容的test.php文件:
如果您的验证脚本或部署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)中,以便发送文件系统文件(如果存在):
尽管服务器主机可能不是本地主机,但远程主机配置为“localhost”
验证脚本的URL包含与 不同的内容localhost
,但未xdebug.remote_host
设置该值,因此使用默认值localhost
, or 设置为localhost
or 127.0.0.1
。
无法访问指定的 URL,原因是:“请求失败,状态码 404”
当服务器文档根目录与项目根目录不同且未相应配置部署路径映射时,可能会出现此问题。
考虑以下示例:
该项目存储在/MyProject文件夹中。
服务器文档根目录设置为其公共子文件夹,即/MyProject/public。
访问应用程序的 URL 是http://MyApp.test。
如果整个项目根文件夹映射到服务器文档根目录,PhpStorm 将尝试通过http://MyApp.test/public/_intellij_phpdebug_validator.php URL 访问验证脚本,这将导致404错误。要解决这个问题,您需要设置公共子文件夹和服务器文档根目录之间的显式映射。
在Settings/Preferences对话框 ( Ctrl+Alt+S) 中,转到 。
选择您的部署服务器,然后在Mappings选项卡上,单击Add New Mapping按钮。
添加一个附加条目,将/MyProject/public文件夹映射到服务器文档根/。
因此,访问验证脚本的 URL 变为正确的http://MyApp.test/_intellij_phpdebug_validator.php。