Какое значение следует присвоить переменной REDIRECT_STATUS, чтобы php -cgi обрабатывал данные, отправленные сервером на c ++? - PullRequest
0 голосов
/ 14 января 2020

На C ++ есть http-сервер, который может обрабатывать запросы на динамическое содержимое c, используя php -cgi. Когда я использую php -cgi для выполнения скрипта, который не требует ввода данных, все работает. Если я создаю переменную REQUEST_METHOD, php -cgi возвращает это сообщение.

enter image description here

Как я понимаю, я должен создать переменную REDIRECT_STATUS и назначить это определенное значение, чтобы php -cgi мог обрабатывать данные, полученные с сервера, но какое значение следует установить? Когда я ставлю "0" или оставляю пустую строку "", интерпретатор генерирует эти ошибки

enter image description here

нет ничего в $ _POST, php -cgi не видит данные, передаваемые в stdin. В этом случае класс conepipe является оболочкой для системных вызовов: fork, pipe, exe c, et c ... Другими словами, он устанавливает двунаправленное соединение между процессами. stdin и stdout дочернего процесса переназначаются, а запись / вывод выполняется с использованием перегруженных операторов << / >>

int main()
{
    setenv("SCRIPT_FILENAME", "/home/anton/Cone_SERVER/serverFILES/test.php", 1);
    setenv("REQUEST_METHOD", "POST", 1);
    setenv("REDIRECT_STATUS", "", 1);
    conepipe a("php-cgi");
    string msg = "first=5&operation=+&second=10&submit=Submit";
    string buf;
    a << buf;
    a >> buf;
    std::cout <<buf;
    return 0;
}
...