Вызовите интерпретатор PHP и передайте ему данные POST - PullRequest
0 голосов
/ 09 декабря 2011

Я разрабатываю небольшой веб-сервер на C ++, сейчас я пытаюсь реализовать поддержку PHP для моего WS, или, что лучше, я пытаюсь понять, как это реализовать.Но у меня есть некоторые сомнения: на данный момент у меня есть запрос клиента в std :: string, если это статический запрос, проблем нет: давайте найдем файл и поместим его в буфер сокетов;если это динамический запрос (только PHP), конечно, мне нужно вызвать интерпретатор (std :: system () ??).Теперь мое основное сомнение касается форм, я получаю свой запрос POST и сохраняю поля формы в строке, но теперь: как я могу заполнить $ _POST, использованный в моем php-скрипте, и вызвать интерпретатор?Я мог бы поместить свою строку полей как argv с помощью "php -f file.php" fields fields ", но, конечно, это ужасно: 3.

Спасибо за преимущество.*

1 Ответ

1 голос
/ 10 декабря 2011

Чтобы передать тело POST, вы, по сути, передаете его в

  echo "$POST_BODY" | php-cgi

Для C и C ++ вы не хотите использовать только popen(), но также захватывает выходные данные и stderr.Итак, вам нужно что-то вроде: как управлять перенаправлением popen stdin, stdout, stderr?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...