¿Cómo hacer un fondo de un proceso a través de proc_open y tener acceso a STDIN?
Estoy felizmente usandoproc_open
para canalizar datos en otro proceso PHP. algo como est
$spec = array (
0 => array('pipe', 'r'),
// I don't need output pipes
);
$cmd = 'php -f another.php >out.log 2>err.log';
$process = proc_open( $cmd, $spec, $pipes );
fwrite( $pipes[0], 'hello world');
fclose( $pipes[0] );
proc_close($process);
En el otro archivo PHP, hago eco de STDIN con:
echo file_get_contents('php://stdin');
Esto funciona bien, pero no cuando lo hago en segundo plano. Simplemente agregando$cmd
con&
No recibo nada de STDIN. Debo estar perdiendo algo fundamental.
También falla confgets(STDIN)
¿Alguna idea por favor?