Я использую phpseclib 0.3.1 для работы с удаленным SFTP-сервером. У меня есть сценарий, который загружает обложки из SFTP, сохраняет их на моем сервере и делает обновления в базе данных.phpseclib - бесконечная загрузка
я запускаю этот скрипт для 7000 изображений и после того, как почти 10-12 минут, это выглядит как сценарий остановлен (но в конце концов я обнаружил, что сценарий вошел в бесконечный цикл)
После некоторого исследования, я нашел следующие детали:
функция
get($remote_file, $local_file = false)
из SFTP.php вызывается для загрузки файлаизображений в этой функции
_get_sftp_packet()
вызываются в то время как (истинный) цикл.В _get_sftp_packet() есть вызов
_get_channel_packet(NET_SFTP_CHANNEL);
И в _get_channel_packet() есть вызов
$response = $this->_get_binary_packet();
Моя проблема, что это $ ответ пустая строка. В функции _get_sftp_packet()
длина этого отклика используется как декремент, и если функция возвращает пустую строку (или длину 0) - я никогда не выйду из цикла в _get_sftp_packet()
Неужели кто-нибудь столкнулся с этой проблемой? Какое пустое средство ответа для функции _get_binary_packet()
?
Буду признателен за любую помощь.
Вы были правы, после обновления до версии 0.3.10 ошибка исчезла. – Tamara