PHP 当 运行 来自 crontab 时,exec 不会 return LFTP 输出

PHP exec doesn't return LFTP output when run from crontab

我有一个 PHP 文件 (/path/to/file.php) 包含一个执行命令:

$result = exec('lftp -u USER,PASS sftp://USER@IP:PORT -e "cd FOLDER; mput -E FILE; quit;"');

当我在终端中运行命令"php /path/to/file.php"时,$result的值是"X bytes transferred"

当我使用完全相同的命令为同一用户创建 cron 任务时,$result 始终为空字符串。该命令仍然有效,该文件可以在 FTP-server.

上找到

如何让 cron 版本输出一些东西,以便确认传输是否成功?

所以解决方案是将以下设置添加到 LFTP 配置文件(例如 /etc/lftp.conf):

set cmd:interactive yes