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";