Пытаюсь в скрипт на РНР передать информацию от скомпилированного на С 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 запускаются и работают - проблема в налаживании взаимодействия со скриптом на РНР