Как вызвать мои двоичные файлы C ++ через интерфейс CGI? - PullRequest
1 голос
/ 08 июля 2011

Я хотел бы преобразовать решение PHP в решение C ++. В настоящее время моя серверная часть написана на PHP - не слишком много кода, менее тысячи строк. Поэтому я могу переписать его без проблем - мне не нужно использовать хип-хоп или аналогичные средства автоматизации.

Вопрос в том, как установить / настроить правильное программное обеспечение для поддержки кода C ++ на стороне сервера. Я не знаю, как вызывать двоичные файлы через веб-сервер через CGI.

PHP очень прост, установите XAMPP или аналогичный, напишите PHP, и вы в значительной степени настроены и работаете.

Однако я хочу запустить C ++.

Спасибо

Ответы [ 2 ]

2 голосов
/ 09 июля 2011

Вы можете вызывать ваши двоичные файлы C ++ через Общий интерфейс шлюза, который указан в RFC 3875 .

Каждый веб-сервер, который поддерживает CGI (и это довольно часто), может затем вызывать ваши двоичные файлы.Если вы используете Apache 3.1 по соображениям производительности и стабильности, в руководстве есть раздел: Динамический контент с CGI .

Cgi и c ++ Примеры кода:легко найти через поиск в интернете, так что это всего лишь один пример .

Когда вы приступили к работе и привыкли к ней, вы можете подумать о том, чтобы сделать шаг вперед и перейти FastCGI .Это помогает снизить затраты на разветвление процесса каждый раз, как это делает CGI.Другой вариант заключается в том, что вы создаете свой скрипт в виде модуля apache и работаете напрямую из httpd.

2 голосов
/ 09 июля 2011

Три основных варианта:

  • делают все это в C ++, превращая вашу программу в автономный веб-сервер (возможно, через прокси через apache для предоставления таких вещей, как ssl, static media, аутентификация и т.*
  • запустить C ++ в cgi-bin, через apache
  • создать оболочку PHP, которая обрабатывает часть C ++ (это хороший вариант, если часть, критичная для производительности, мала, так как вы все еще можетеиспользуйте комфорт, который дает PHP для сборки мусора и работы со строками)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...