Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.03.2012, 23:41
Профессор
Отправить личное сообщение для kilogram Посмотреть профиль Найти все сообщения от kilogram
 
Регистрация: 18.03.2012
Сообщений: 163

CGI внутри PHP
Изучаю пхп, там пишут что так не используют, но это важно знать как подключается cgi в пхп.

Вот написал код.
Код:
#include <iostream>
#include <stdlib.h>
using namespace std;

void main(){

char *RemoteAddr = getenv("REMOTE_ADDR");
char *QueryString = getenv("QUARY_STRING");
cout<<"Content-type: text/html"<<endl<<endl;
cout<<"<html><body>";
cout<<"<h>Здравствуйте! Мы знаем о Вас все!</h1>";
printf("Ваш IP-адрес: %s<br>",RemoteAddr);
printf("Вот параметры, которые вы указали: %s", QueryString);
cout<<"</body></html>";
cin.get();
}
Скомпилировал программу, получил файл 1.exe, кинул этот файл возле файла index.php
Далее там пишут вот такое, что пишут, на фото вложил.
В файле index.php ничего не писал, там просто
<?php echo 'Привет мир!'; ?>


Не могу понять, что в браузере ввести чтоб вызвать методом GET эту программу написанную на С++.
Когда ввожу так: http://test.ru/1.exe?a=1&b=2
происходит просто скачка файла 1.exe на компьютер, но не запуск cgi-программы(я так понял это называется любая программа написанная на ином языке, которую мы хотим запустить в браузере,верно?).

Подскажите, как запустить программу 1.exe?
Изображения:
Тип файла: jpg clip_image002.jpg (46.4 Кб, 8 просмотров)
Ответить с цитированием
  #2 (permalink)  
Старый 18.03.2012, 23:48
Аватар для Aetae
Любитель
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 5,601

В настройках сервера указать исполняемым расширением, пхп тут не при чем. Но это будет пи*ц.)
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 18.03.2012, 23:53
Профессор
Отправить личное сообщение для kilogram Посмотреть профиль Найти все сообщения от kilogram
 
Регистрация: 18.03.2012
Сообщений: 163

В настройках сервера указать исполняемые расширения и ввести ссылку в браузере и программа сработает?
http://test.ru/1.exe?a=1&b=2
Ответить с цитированием
  #4 (permalink)  
Старый 19.03.2012, 05:39
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 04.06.2009
Сообщений: 1,703

Сообщение от kilogram Посмотреть сообщение
Не могу понять, что в браузере ввести чтоб вызвать методом GET эту программу написанную на С++.
Когда ввожу так: http://test.ru/1.exe?a=1&b=2
происходит просто скачка файла 1.exe на компьютер, но не запуск cgi-программы(я так понял это называется любая программа написанная на ином языке, которую мы хотим запустить в браузере,верно?).

Подскажите, как запустить программу 1.exe?

.htaccess:
Код:
AddHandler cgi-script .exe
может быть так?
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
Ответить с цитированием
  #5 (permalink)  
Старый 20.03.2012, 18:39
Профессор
Отправить личное сообщение для kilogram Посмотреть профиль Найти все сообщения от kilogram
 
Регистрация: 18.03.2012
Сообщений: 163

Апач находится у меня на диске С:\www
Я зашел в C:\www\conf
в файл httpd.conf
Ввел там такое:

Код:
 AddHandler cgi-script .cgi .pl .bat .exe
    AddType cgi-script .exe

Затем зашел в C:\www\conf нашел файл просто
httpd(текстовой) нашел там

Код:
<Directory "C:/www/cgi-bin">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>
и ввел ниже этого:

Код:
<Directory "C:/www/htdocs/test.ru/www">
#тут могут быть и другие настройки типа AllowOverride или Allow
Options ExecCGI
</Directory>
Ввожу такую ссылку: http://test.ru/1.exe?a=1&b=2
Опять скачивается файл 1.exe но не запускается

Переименовал файл 1.exe на 1.cgi и запустил http://test.ru/cgi-bin/1.cgi?a=1&b=2
Выдает ошибку:

Код:
Not Found

The requested URL /cgi-bin/1.cgi was not found on this server.
Ответить с цитированием
  #6 (permalink)  
Старый 20.03.2012, 22:14
Профессор
Отправить личное сообщение для kilogram Посмотреть профиль Найти все сообщения от kilogram
 
Регистрация: 18.03.2012
Сообщений: 163

Все , запустил программу на С++ в пхп, оказывается нужно было переименовать в расширение cgi расширение exeи кинуть в папку cgi апача программу, а не в cgi возле папки сайта или в папкe www-сайта.
Скажите, а для каких возможностях используются cgi, какие проги пишутся примерно чтоб использовать cgi для пхп?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 19:48
Связь между страницами с javascript и php ... и обратно okrip25 AJAX и COMET 7 09.01.2012 12:43
Внутренний редирект с помощью PHP mister_maxim Серверные языки и технологии 2 30.03.2011 17:10
Как передать картинку из javascript в php KIVagant AJAX и COMET 3 12.05.2010 10:54
javascript и php (Вопрос) Гауляйтер Общие вопросы Javascript 3 06.05.2009 08:23