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";
我正在用 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";