Kann jemand sagen, warum der folgende Code auf fwrite($pipes[0], $data);
hängt, aber es hängt nicht, wenn ich $bytesCount
auf zum Beispiel 1000 ändern?php -> fwrite zu verarbeiten Rohr hängt -> warum?
war ich nicht in der Lage Antwort via google :(Sie
Vielen zu finden.
$descriptorspec = array(
0 => array("pipe", "r"),
1 => array("pipe", "w")
);
$bytesCount = 1000000;
$process = proc_open('cat', $descriptorspec, $pipes);
$data = str_repeat('a', $bytesCount);
fwrite($pipes[0], $data);
fclose($pipes[0]);
$response = stream_get_contents($pipes[1]);
fclose($pipes[1]);
$return_value = proc_close($process);
Funktioniert es, wenn Sie 'fwrite' mit dem dritten Argument verwenden und dann den Stream' fflush', wiederholen Sie dies einige Male? –
@ AurelBílý nein es nicht) –