我有两个脚本:
第一个包含以下代码:
<?php
// ...
echo date('H:i:s'), PHP_EOL;
$stream = ssh2_exec($session, 'php my-second-script.php');
stream_set_blocking($stream, true);
$data = "";
while ($buf = fread($stream, 4096)) {
$data .= $buf;
}
fclose($stream);
echo date('H:i:s'), PHP_EOL;
// ...
第二个只包含以下代码:
<?php
sleep(15);
echo 'OK', PHP_EOL;
我不明白为什么有时当我运行我的第一个脚本时,它会等待第二个脚本运行,但有时候没有。
例如,当它工作时,我有以下输出:
14:16:10
14:16:25
有时候我有这个:
14:17:13
14:17:14
我还阅读了帖子ssh2_exec: wait end of a process to run next,回答的人说“如果没有读取流,命令可能无法正常完成”。有人可以向我解释一下吗?