我正在用C ++构建一个小型Web服务器,而我现在正试图为PHP页面的POST请求添加支持。
但是,我不知道如何将POST请求主体传递给PHP可执行文件。我已经看到了一些设置环境变量并调用php-cgi
的示例,但我还没有看到何时设置哪些变量的确切列表。
如果我在字符串中有POST正文数据,那么使用php-cgi
在所需PHP文件上执行POST请求的最佳方法是什么?我的设置适用于PHP文件,其中没有参数或POST数据从Web服务器发送到可执行文件。
答案 0 :(得分:0)
我使用以下环境变量开始工作:
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";