В любом случае, читать с STDIN
с PHP, который не блокирует:
Я пробовал это:
stream_set_blocking(STDIN, false);
echo fread(STDIN, 1);
и это:
$stdin = fopen('php://stdin', 'r');
stream_set_blocking($stdin, false);
echo 'Press enter to force run command...' . PHP_EOL;
echo fread($stdin, 1);
но он по-прежнему блокируется до тех пор, пока fread
не получит некоторые данные.
Я заметил несколько открытых отчетов об ошибках (7 лет), поэтому, если это невозможно сделать, знает ли кто-нибудь какие-нибудь сырые хаки, которые могут это сделать (в Windows и Linux)?