Jump to content
  • 0

CGI внутри PHP


kilogram
 Share

Question

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

b494cbad9813b1010fa4fd746043ff67.jpg

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

716e7dda6fe9c84569739a6bdd15f615.jpg

Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 0

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

Скажите, а для каких возможностях используются cgi, какие проги пишутся примерно чтоб использовать cgi для пхп?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy