URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 7677
[ Назад ]

Исходное сообщение
"Как организовать взаимодействие РНР скрипта и CGI на С ?"

Отправлено claygod , 31-Окт-08 10:16 
Пытаюсь в скрипт на РНР передать информацию от скомпилированного на С CGI.
Попробовал вот так:
Код на РНР
//--------------------------------------
if(is_resource($process=proc_open("main2.cgi",array( 0 => array('pipe','r'),
1 => array('pipe','w'), 2 => array('pipe','w')),$pipes))) {
$output = "";
while(!feof($pipes [ 1 ])) $output .= fread($pipes[1],1024);
fclose($pipes[0]);
fclose($pipes[1]);
fclose($pipes[2]);
proc_close($process);
}
print $output."
";


if( is_resource($f = popen("main2.cgi","r")) ) {
$output = "";
while(!feof($f)) {
$output .= fread($f,1024);
}
pclose($f);
}
print $output."
";
//--------------------------------------

результата нет,
попробовал так:
//--------------------------------------
$handle = popen('main2.cgi', 'r');
echo "'$handle'; " . gettype($handle) . "\n";
$read = fread($handle, 2096);
echo $read;
pclose($handle);
//--------------------------------------

результат

'Resource id #3'; resource

Вот код CGI на C:
//--------------------------------------
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])

{
char stroka[]="HELLO";
printf ("%s",stroka);
return 0;
}
//--------------------------------------

Никак не разберусь, с какой стороны ошибаюсь, со стороны скрипта на РНР, или же это CGI неправильный?

Другие (автономные) программы CGI запускаются и работают - проблема в налаживании взаимодействия со скриптом на РНР


Содержание

Сообщения в этом обсуждении
"Как организовать взаимодействие РНР скрипта и CGI на С ?"
Отправлено buka , 31-Окт-08 11:14 
>Никак не разберусь, с какой стороны ошибаюсь, со стороны скрипта на РНР,
>или же это CGI неправильный?
>
>Другие (автономные) программы CGI запускаются и работают - проблема в налаживании взаимодействия
>со скриптом на РНР

ты сначала прочитай, что такое CGI


"Как организовать взаимодействие РНР скрипта и CGI на С ?"
Отправлено Square , 31-Окт-08 11:22 
>Пытаюсь в скрипт на РНР передать информацию от скомпилированного на С CGI.
>Никак не разберусь, с какой стороны ошибаюсь, со стороны скрипта на РНР,
>или же это CGI неправильный?
>
>Другие (автономные) программы CGI запускаются и работают - проблема в налаживании >взаимодействия со скриптом на РНР

Недавно в сети появилась книжка.. что-то вроде "программирование на CGI"

хохмач который назвал так свой труд думает вероятно что CGI -это какой-то язык программирования. Но это не так..

Учите матчасть, и у вас все получится.



"Как организовать взаимодействие РНР скрипта и CGI на С ?"
Отправлено claygod , 31-Окт-08 13:22 
>[оверквотинг удален]
>>или же это CGI неправильный?
>>
>>Другие (автономные) программы CGI запускаются и работают - проблема в налаживании >взаимодействия со скриптом на РНР
>
>Недавно в сети появилась книжка.. что-то вроде "программирование на CGI"
>
>хохмач который назвал так свой труд думает вероятно что CGI -это какой-то
>язык программирования. Но это не так..
>
>Учите матчасть, и у вас все получится.

Я же написал, CGI, написанный на С.
По сути, программа, которая в выходной поток помещает текст.


"Как организовать взаимодействие РНР скрипта и CGI на С ?"
Отправлено Square , 31-Окт-08 13:39 
>[оверквотинг удален]
>>
>>Недавно в сети появилась книжка.. что-то вроде "программирование на CGI"
>>
>>хохмач который назвал так свой труд думает вероятно что CGI -это какой-то
>>язык программирования. Но это не так..
>>
>>Учите матчасть, и у вас все получится.
>
>Я же написал, CGI, написанный на С.
>По сути, программа, которая в выходной поток помещает текст.

замечательно. и что в вашем примере нарушает принцип CGI?


"Как организовать взаимодействие РНР скрипта и CGI на С ?"
Отправлено angra , 31-Окт-08 17:31 
Ваш код на С ни одним местом не CGI, в будущем старайтесь избегать использования умных слов, смысла которых не понимаете. Не понятно зачем столько извратов на пыхе, если можно просто использовать $read=`main2.cgi`, обычно если на сервере для безопасности отключают обратные кавычки и system, то и popen будет отключен.