я использую https://github.com/phpseclib/phpseclib выполнить cmd на сервере Debian.
echo $ssh->exec("ls");
работает нормально для меня — но если я попробую следующее (как Вот) появляется тайм-аут:
$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
Не работает … любая помощь?
Спасибо!
Вам обычно нужно сделать $ssh->read('[prompt]')
где [подсказка] является заполнителем для фактической подсказки. Если вы не знаете подсказку или вам нужно выяснить это, вы можете сделать $ssh->setTimeout(3)
перед $ssh->read()
,
Других решений пока нет …