Proc_open gelen konsol çıktısını yakalama

1 Cevap

I'm using proc_open to launch a telnet session connecting to a server program. Connection is ok but when I get the reply, I can't store the whole string on a file as it is cut after some chars.

İşte benim pasajı:

$descriptorSpec = array( 0 => array( "pipe", "r" ),  
                         1.=> array( "file", $logPath, "w" ) );  
$process = proc_open( "telnet localhost 2323", $descriptorSpec, $pipes );  
fwrite( $pipes[0], "helo" . PHP_EOL );
fwrite( $pipes[0], "quit" . PHP_EOL );

Ben de Netcat'i ve exec kullanarak denedim:

exec( "echo \"helo quit\" | netcat localhost 2323 >> $logPath" );

ama aynı sonucu vardı.

Ben konsoldan telnet / netcat komutu çalıştırmak, ben stdout'ta bütün dize olsun ama ben başka bir dosyaya yönlendirmek için çalışırsanız ben yukarıdaki gibi aynı prob olsun.

1 Cevap

$smtpConnect = fsockopen($server, 25, $errno, $errstr, 2)){
$smtpResponse = fgets($smtpConnect);
$logArray['connection'] = $smtpResponse;
echo $logArray['connection'];
fputs($smtpConnect, "EHLO LOCALHOST". "\n\r");
$smtpResponse = fgets($smtpConnect);

bu satırlar boyunca bir şey denemek?