PHP exec не возвращает вывод LFTP при запуске из crontab

У меня есть файл PHP (/path/to/file.php), содержащий команду exec:

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

Когда я запускаю команду «php /path/to/file.php» в терминале, $ result имеет значение «X байт передано».

Когда я создаю задачу cron для одного и того же пользователя, используя ту же самую команду, $ result всегда является пустой строкой. Однако команда по-прежнему работает, файл можно найти на FTP-сервере.

Как я могу заставить версию cron выводить что-то, чтобы я мог подтвердить, что передача прошла успешно?

🤔 А знаете ли вы, что...
PHP обладает большим сообществом разработчиков и обширной документацией.


259
1

Ответ:

Решено

Поэтому решением было добавить следующий параметр в файл конфигурации LFTP (например, /etc/lftp.conf):

set cmd:interactive yes