簡體   English   中英

phpseclib-通過CRON運行但在手動執行時不發生錯誤

[英]phpseclib - Errors when running via CRON but not when execute manually

我在使用composer安裝的網站上使用phpseclib 2.0。 我編寫了一個php函數,該函數基本上通過SFTP連接到遠程服務器,並在預定義目錄中下載文件。 通過使用cURL的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執行確切的命令,則一切正常,並且表已更新。 我已經檢查了CROND日志,並且可以確認它使用的權限與其相同的用戶相同,即。 根。 任何人都對此問題有任何見識,因為我不知道。 我已經從使用cURL更改為使用httpie,但是結果相同。 在命令行上手動執行時有效,但在CRON執行時失敗。

我所做的唯一服務器更改是將PHP從5.6版升級到7.0版。 那可能是原因嗎? 如果有人對我有解決方案或解決方案有任何見解,將不勝感激。 提前致謝。

PHP 7更傾向於SSL證書。

檢查您要連接的服務器是否提供了正確的證書。 或者如果您可以讓php忽略無效的證書。 (當然,不太喜歡正確設置它)

-

但是,這不能解釋為什么您可以手動運行腳本。 我現在唯一想到的是:有證書。 以用戶身份登錄時在搜索路徑中?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM