如何为不是来自浏览器的 HTTP 请求触发 Xdebug

How to trigger Xdebug for HTTP requests not from a browser

我已经配置了 Xdebug 并按照我想要的来自浏览器的标准请求工作。

我现在正在尝试与第三方 API 合作,后者会向我的脚本发出请求以响应外部事件(API 是一个支付网关,它在付款时轮询我的脚本已成功)。我无法控制 API 如何请求我的脚本,所以我无法添加 GET 参数 XDEBUG_SESSION_START=session_name 来触发 Xdebug。是否可以向我的脚本或 htaccess 添加一些内容以使 Xdebug 为我的脚本的所有请求触发?我想我可以为服务器范围内的所有请求打开 Xdebug,但我不想这样做,因为我的服务器上有很多活动脚本,我不希望为所有这些脚本触发 Xdebug。

您是否尝试过在 .htaccess 中添加 URL 参数作为重写规则? 例如:

RewriteCond %{REMOTE_ADDR} ^ip\.address\.of\.client$ # for more security.
RewriteCond %{REQUEST_URI} ^/api/endpoint
RewriteRule ^(.*)$ ?XDEBUG_SESSION_START=session_name [QSA]

标记QSA (Apache Docs)