【发布时间】:2017-02-16 22:59:17
【问题描述】:
我有一个用 php 编写的由主管控制的长期进程,它是一个 Laravel 命令在 redis 频道上监听。当数据到达时,它使用 leagure/sftp 库通过 SFTP 将数据从通道推送到另一台服务器。问题是在启动进程后大约12小时内才能正常工作,然后开始返回以下错误:
文件: /var/www/html/hub/vendor/phpseclib/phpseclib/phpseclib/Net/SSH2.php
线路:3416
代码:0
消息:连接过早关闭
该过程需要重新启动12小时才能正常工作。
你们有什么想法吗?
【问题讨论】:
-
发布日志文件。默认情况下,phpseclib 将它们限制为 1mb。您可以通过在顶部执行
define('NET_SSH2_LOGGING', 2)来获取它们,然后在遇到该错误时执行$ssh->getLog()。也许您可以做的是编写一个错误处理程序,只要“捕获”这种错误,就会生成日志文件。然后,获得日志文件后,将其发布到 pastebin.org。
标签: php laravel laravel-5 sftp phpseclib