检测远程服务器上的 fastCGI 是否为 运行

Detecting Whether or not fastCGI is running on a remote server

我得到的几乎每个答案都涉及 phpinfo(),这对我没有帮助。

我有一个基于 PHP 的服务器的 SDK,它使用 Basic Auth(承载 token/secret 东西)。但是,当服务器是 运行 fastCGI 时,SDK 需要将 auth 作为查询参数发送。

在SDK中添加一个手动开关并不难,但我想知道SDK(Swift中写的)是否有办法在服务器端检测fastCGI。

我应该注意,我还编写了服务器,因此我可以添加对查询的响应,标记 fastCGI。不过,这似乎有点“拼凑”。

有没有办法确定远程服务器是否是 运行 fastCGI?

是啊...看起来这是一个风滚草农场。

我确定确实没有不透明的方法来找出什么是服务器 运行,所以我向服务器添加了一个快速命令。

Here's what I did:

// This is a test, to see whether or not we should use auth parameters (fastCGI).
if ((1 == count($this->_path)) && ('use_auth_params' == $this->_path[0])) {
    exit('cgi' == substr(php_sapi_name(), 0, 3) ? '1' : '0');
}