php-cgi环境变量设置

php-cgi environment variable setup

我正在用 C++ 构建一个小型 Web 服务器,目前我正在尝试添加对 PHP 页面的 POST 请求的支持。

但是,我不知道如何将 POST 请求正文传递给 PHP 可执行文件。我看过一些设置环境变量并调用 php-cgi 的示例,但我还没有看到何时设置哪些变量的明确列表。

如果我在字符串中有 POST 正文数据,使用 php-cgi 对所需 PHP 文件执行 POST 请求的最佳方法是什么?我的设置适用于 PHP 文件,其中没有参数或 POST 数据从 Web 服务器发送到可执行文件。

我使用以下环境变量让它工作:

cmd = "echo \""+req->body()+"\" | "
      "REDIRECT_STATUS=CGI "
      "REQUEST_METHOD=POST "
      "SCRIPT_FILENAME="+uri->src()+" "
      "CONTENT_TYPE=application/x-www-form-urlencoded "
      "CONTENT_LENGTH="+std::to_string(req->body().length())+" "
      "php-cgi";