php - liga/sftp La conexión se cerró prematuramente
laravel laravel-5 (2)
Tengo un proceso de larga duración controlado por un supervisor escrito en php, es un comando de Laravel que escucha en un canal de redis. Transfiere datos del canal a otro servidor a través de SFTP utilizando la biblioteca leagure / sftp cuando llegan los datos. El problema es que funciona normalmente solo durante unas 12 horas después de iniciar el proceso y comienza a devolver el siguiente error a continuación:
Archivo: /var/www/html/hub/vendor/phpseclib/phpseclib/phpseclib/Net/SSH2.php
Línea: 3416
Código: 0
Mensaje: conexión cerrada prematuramente
El proceso necesita reiniciarse para funcionar normalmente otras 12 horas.
tienen alguna idea?
El problema se resuelve reconectando cada vez antes de acceder al servidor SFTP:
/**
* @var /Illuminate/Filesystem/FilesystemAdapter $disk
*/
$adapter = $disk->getDriver()->getAdapter();
$adapter->disconnect();
$adapter->connect();
Es el mismo tema aquí o no?
[Perl] [net :: ssh2] Cómo mantener la conexión ssh mientras se ejecuta el comando remoto
Otra solución es volver a autenticar el servidor antes de las 12 horas.