我在使用Composer安装的网站上使用Phpseclib 2.0。我编写了一个PHP功能,该功能基本上通过SFTP连接到远程服务器,并在预定义的目录中下载文件。使用卷曲通过CRON调用此功能,并且工作正常。上周,它停止工作。我启用了记录,这就是我得到的。
Severity: User Notice
Message: Error reading channel data
Filename: Net/SSH2.php
Line Number: 3579
Severity: User Notice
Message: Connection closed prematurely
Filename: Net/SSH2.php
Line Number: 3025
Severity: User Notice
Message: Connection closed by server
Filename: Net/SSH2.php
Line Number: 3373
Severity: User Notice
Message: Expected SSH_FXP_VERSION
Filename: Net/SFTP.php
Line Number: 471
当我检查用于存储下载文件内容的表格时,没有任何更新。
很奇怪的是,如果我要从cron中执行确切的命令,一切正常,并且表已更新。我有Check Crond日志,可以确认它使用与同一用户同一的权限,即。根。任何人都对这个问题有任何了解,因为我不知道。我已经从使用卷曲变为使用HTTPIE,但是结果相同。手动在命令行中手动执行时工作,但在由Cron执行时失败。
我所做的唯一服务器更改是将我的PHP从5.6升级到版本7.0。那是原因吗?如果有人对我如何解决这个问题有解决方案或任何见解,那将不胜感激。预先感谢。
php 7对SSL证书更加糟糕。
检查您是否要使用的服务器是否给出适当的证书。或者,如果您可以让PHP忽略无效的证书。(当然,不太喜欢正确设置它(
-
但是,这不能解释为什么您可以手动运行脚本。我现在唯一能想到的是:有些证书。在搜索路径中以用户登录时?