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
我有一个 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