У меня есть демон CLI PHP, который регулярно отправляет файлы через SFTP на нестабильный сервер, и перед тем, как исправить сервер, я хочу реализовать обработку ошибок в своем скрипте.
После успешного входа в систему я запускаю эту команду, и она работает около 70% времени:
if ($sftp->put("/home/whatever/$name","$local_path"))
{
print "no problem\n";
} else {
print "is problem\n";
}
Мне все равно, если соединение не работает, потому что я могу заставить моего демона повторить попытку, НО проблема в том, что я получаю эти ошибки, а затем мой демон просто умирает:
PHP Notice: Connection closed by server in /usr/share/pear/Net/SSH2.php on line 1009
Notice: Connection closed by server in /usr/share/pear/Net/SSH2.php on line 1009
сообщение «проблема» никогда не появляется, программа просто умирает.
Как я могу определить, когда соединение закрывается, а сценарий не умирает?
Задача ещё не решена.
Других решений пока нет …