Debugging PhpStorm能否使用Nginx'调试已重定向到的文件;s X-Accel-Redirect?

Debugging PhpStorm能否使用Nginx'调试已重定向到的文件;s X-Accel-Redirect?,debugging,nginx,phpstorm,xdebug,x-accel-redirect,Debugging,Nginx,Phpstorm,Xdebug,X Accel Redirect,我使用Nginx的X-Accel-Redirect来提供webroot之外的文件(redirected.php)。webroot是/usr/share/nginx/html,我想要调试的文件是从/usr/share/nginx/downloads提供的 我在浏览器中开始Xdebug(调试在此阶段工作)。在某些时候,浏览器会请求website1.com/learning/downloads/url, Nginx使用以下规则将请求重定向到redirected.php # Enable X-Accel

我使用Nginx的X-Accel-Redirect来提供webroot之外的文件(redirected.php)。webroot是
/usr/share/nginx/html
,我想要调试的文件是从
/usr/share/nginx/downloads提供的

我在浏览器中开始Xdebug(调试在此阶段工作)。在某些时候,浏览器会请求
website1.com/learning/downloads/url
, Nginx使用以下规则将请求重定向到redirected.php

# Enable X-Accel-Redirect
location /learning/downloads/ {
root /usr/share/nginx/downloads;
rewrite ^/(.*)$ /redirected.php last;
}
不幸的是,我无法让redirected.php在任何断点上暂停


在PhpStorm中使用X-Accel-Redirect时是否无法调试?还是更可能是一个映射问题?非常感谢您就如何克服此问题提出建议。

这是一个映射问题。部分问题是由于redirected.php位于webroot之外的文件夹中

为了修复它,我转到文件->设置->语言和框架->PHP->服务器,并按照下图所示对其进行了配置


我还添加了
xdebug_break()
到redirected.php中的代码这是一个映射问题。部分问题是由于redirected.php位于webroot之外的文件夹中

为了修复它,我转到文件->设置->语言和框架->PHP->服务器,并按照下图所示对其进行了配置


我还添加了
xdebug_break()到redirected.php中的代码

只要在执行该脚本时存在并启用了Xdebug(请参阅“debug me”标志或配置为尝试调试每个请求),它就会尝试调试它(连接到IDE)。因此,首先需要确认的是(启用xdebug日志并检查生成的日志文件——当点击该URL时它是否尝试连接到IDE?)如果它连接但未调试,那么这将是一个路径映射问题,因为您的路径显然在项目之外(我假设项目根被映射到
/usr/share/nginx/html
)1) Xdebug可以调试任何PHP文件,只要它被启用并被告知进行调试(例如cookie或其他方式(调试所有配置值或PHP代码中的显式“debug me”指令)。2)PhpStorm可以使用Xdebug,只要它有权访问该文件并可以映射路径。3) 因此,请先检查调试尝试,然后更好地描述您的项目设置/配置(这都是本地调试还是远程调试等)。@LazyOne多亏了您的帮助,我才使它正常工作。看起来我上一次的配置更改实际上起了作用,但我没有请求正确的url(请求的url取决于几个因素)。如果你将你的评论作为答案发表,我将接受。请发表你自己的答案(然后接受),并附上你所做的所有细节/步骤。你比我更了解你的案例的细节和细微差别(我只是给出了一般信息/一般逻辑)。好的。谢谢:)只要执行
redirected.php
scriptxdebug时存在并在那里启用(请参阅“debug me”标志或配置为尝试调试每个请求),它就会尝试调试它(连接到IDE)。因此,首先需要确认的是(启用xdebug日志并检查生成的日志文件——当点击该URL时它是否尝试连接到IDE?)如果它连接但未调试,那么这将是一个路径映射问题,因为您的路径显然在项目之外(我假设项目根被映射到
/usr/share/nginx/html
)1) Xdebug可以调试任何PHP文件,只要它被启用并被告知进行调试(例如cookie或其他方式(调试所有配置值或PHP代码中的显式“debug me”指令)。2)PhpStorm可以使用Xdebug,只要它有权访问该文件并可以映射路径。3) 因此,请先检查调试尝试,然后更好地描述您的项目设置/配置(这都是本地调试还是远程调试等)。@LazyOne多亏了您的帮助,我才使它正常工作。看起来我上一次的配置更改实际上起了作用,但我没有请求正确的url(请求的url取决于几个因素)。如果你将你的评论作为答案发表,我将接受。请发表你自己的答案(然后接受),并附上你所做的所有细节/步骤。你比我更了解你的案例的细节和细微差别(我只是给出了一般信息/一般逻辑)。好的。谢谢:)