The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Генерирование CGI-приложением ASP/PHP страниц, !*! lexluther, 09-Дек-04, 10:49  [смотреть все]
Всем привет,

Подскажите мне пожалуйста как мне решить следующую проблему, если кто-то из вас с подобной задачей встречался или хотя бы сможет меня направить на соответствующие доки по теме.

У меня есть двоичное CGI приложение написанное на C++, при поступлении к нему запроса оно считывает *.asp или *.php страницу (зависит от запроса) и выдает ее на вывод, к юзеру. Я хочу чтобы данный вывод проходил на сервере через интерпретатор соответствующего приложения (PHP или ASP, смотря какая страница идет на вывод) как это происходит при простом запросе страниц *.asp или *.php без посредства моего CGI приложения.

Т.е. схема следующая:

1.Запускается C++ CGI
    а.Формируется страница ASP
2.Запускается интерпретатор ASP
    а.Вывод пропарсивается
    б.Результат выдается юзеру

Подскажите мне, пожалуйста как мне это сделать и достаточно ли (двоичному CGI), просто указать на выводе для сервера что content-type документа это "ASP документ" или "PHP документ", чтобы сервер дальше его автоматически перехватил и перенаправил куда надо.

Задачу, поставленную мне изменить не могу (нужно CGI-ем генерить ASP/PHP страницу и выводить ее юзеру уже в обработанном виде), поэтому просьба просто помочь мне в ее решении, а не критиковать двоичный CGI :).

Заранее спасибо за любой способ осуществить задуманное (мультиплатформенный, или для какой платформы кто может).

  • Генерирование CGI-приложением ASP/PHP страниц, !*! dimus, 14:21 , 09-Дек-04 (1)
    По идее, любой обработчик CGI должен выдавать результаты на стандартный вывод, не важно, написан он на PHP, Perl или Assembler. Следовательно, все что нам надо - перехватить стандартный вывод и передать его куда надо, возможно предварительно обработав напильником.
  • Генерирование CGI-приложением ASP/PHP страниц, !*! Alexander S. Salieff, 18:01 , 10-Дек-04 (2)
    На самом деле тут рулит веб-сервер. Это он решает, какие действия сотворить с запрошенным URI, т.е. если у него прописано что это CGI (обычно прописывается все в директории cgi-bin), то он его запустит, как процесс, отдаст входные данные, а выходные сольет в сеть, если он решит что это PHP-сценарий (обычно прописываются расширения типа *.php), то скормит файл PHP-интерпретатору а его вывод сольет в сеть и т.д.
    Посему тут у тебя сложная задача проассоциировать свой CGI в двойной конвейер, чтоб он сначала выполнился как CGI, а потом его вывод был отдан какому-либо интерпретатору и только потом он попал в сеть. Сомневаюсь, что так вообще можно сделать. Я бы на твоем месте писал PHP-вывод из CGI в файл на диске (в валидную для PHP-сценариев директорию, с расширением .php или какое там хочет сервер), а в STDOUT клиенту кидал статический HTML, который делал бы редирект на сформированный PHP-файл.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру