phpseclib – бесконечная загрузка

Я использую phpseclib 0.3.1 для работы с удаленным SFTP-сервером. У меня есть сценарий, который загружает обложки из SFTP, сохраняет их на моем сервере и делает обновления в базе данных.

Я запускаю этот сценарий для 7000 изображений, и через 10-12 минут он выглядит так, как скрипт остановился (но в конце концов я обнаружил, что этот скрипт вошел в бесконечный цикл)

После некоторого расследования я нашел следующие данные:

  1. функция get($remote_file, $local_file = false) из SFTP.php вызывается для загрузки файла изображения

  2. В этой функции _get_sftp_packet() вызывается в while (true).

  3. В _get_sftp_packet () есть вызов _get_channel_packet(NET_SFTP_CHANNEL);

  4. А в _get_channel_packet () есть вызов $response = $this->_get_binary_packet();

Моя проблема в том, что этот $ response – пустая строка. В функции _get_sftp_packet() длина этого ответа используется как декремент, и если функция возвращает пустую строку (или длину 0) – я никогда не выйду из цикла в _get_sftp_packet()

Кто-нибудь сталкивался с этой проблемой? Какой пустой способ ответа для функции _get_binary_packet() ?

Буду признателен за любую помощь.

Вероятно, это проблема с обработкой размера окна. Проблема, которая исправлена ​​некоторое время.

Вы используете 0.3.1? Последняя версия – 0,3.10. Вы походите на 5 версий.