我正在使用https://github.com/phpseclib/phpseclib在Debian服务器上执行cmd。
echo $ssh->exec("ls");
对我来说很好 - 但如果我尝试以下(如here),则会出现超时:
$ssh->write("ls -la\n");
echo $ssh->read();
错误日志说:
[warn] mod_fcgid: read data timeout in 10 seconds
[error] Premature end of script headers: index.php
我还尝试增加fcgid设置(最多300秒):
FcgidBusyTimeout 10
FcgidIOTimeout 10
不起作用......有什么帮助吗?
谢谢!
答案 0 :(得分:3)
您通常需要执行$ssh->read('[prompt]')
,其中[prompt]是实际提示的占位符。如果您不知道提示或需要弄清楚,可以在$ssh->setTimeout(3)
之前$ssh->read()
进行。{/ p>