PHP で接続のタイムアウトを設定しようとすると問題が発生するssh2_exec
ため、コマンドの実行中に何か問題が発生した場合、実行中のスレッドが解放され、Web サイト全体が妨害されることはありません。試してみstream_set_timeout($stream,$seconds)
ましたが、期待どおりに動作しないようです。
これに関するアイデアはありますか?
//run specified command (ssh)
function runCMD($cmd){
if (!($stream = ssh2_exec($this->conn, $cmd )))
{
echo "fail: unable to execute command\n";
fclose($stream);
return ERROR_SSH_EXEC_COMM;
}
sleep(1);
stream_set_timeout($stream,5);//>>not work
stream_set_blocking($stream, true);
$res = stream_get_contents($stream);
return $res;
}