Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   CGI внутри PHP (https://javascript.ru/forum/server/26706-cgi-vnutri-php.html)

kilogram 19.03.2012 01:41

CGI внутри PHP
 
Вложений: 1
Изучаю пхп, там пишут что так не используют, но это важно знать как подключается 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?

Aetae 19.03.2012 01:48

В настройках сервера указать исполняемым расширением, пхп тут не при чем. Но это будет пи*ц.)

kilogram 19.03.2012 01:53

В настройках сервера указать исполняемые расширения и ввести ссылку в браузере и программа сработает?
http://test.ru/1.exe?a=1&b=2

Tim 19.03.2012 07:39

Цитата:

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

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


.htaccess:
Код:

AddHandler cgi-script .exe
может быть так?

kilogram 20.03.2012 20:39

Апач находится у меня на диске С:\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.


kilogram 21.03.2012 00:14

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


Часовой пояс GMT +3, время: 05:44.