Вызов CGI на своем же сервере и получение результата

claygod

Новичок
Вызов CGI на своем же сервере и получение результата

Как правильно и не усложняя ничего вызвать cgi на своём же сайте и получить результат его работы ?
Если можно, самый простой пример (или ссылку на пример).
 

fixxxer

К.О.
Партнер клуба
простой, наверное, не получится.

[m]proc_open[/m]

хотя если не надо передавать POST, то тогда все проще, можно обойтись [m]popen[/m].
 

claygod

Новичок
Попробовал вот так:

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."<br>";


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

результата нет,
попробовал так:

$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 запускаются и работают - проблема в налаживании взаимодействия. со скриптом на РНР
 
Сверху