bash — php exec () не запускается через задание cron

Я уже несколько часов бьюсь головой об этом.

Я выполняю сценарий php через задание cron, все в сценарии работает, кроме exec() метод.

<?php
exec('gpio write 7 0');

// Open the file to get existing content
$current = file_get_contents('log.txt');

// Append a new person to the file
$current .= get_current_user().' - '.date('H').":".date('i')." - gpio write 7 0\n";

// Write the contents back to the file
file_put_contents($log, $current);
?>

Если я выполняю скрипт php прямо из терминала, он работает как с pi пользователь и с root пользователь.

Данные, которые записываются в log.txt файл, когда запускается задание cron, выглядит нормально для меня, вот пример:

root - 00:16 - gpio write 7 0
root - 00:17 - gpio write 7 0
root - 00:18 - gpio write 7 0
root - 00:19 - gpio write 7 0

Я попытался дать PHP-файл, который должен быть выполнен как 755 а также 777 разрешения без удачи.

Это то, что у меня есть, когда я выполняю sudo crontab -e

*/1 * * * * /usr/bin/php /var/www/check_time.php

Любая помощь будет принята с благодарностью.

Заранее спасибо.

2

Решение

Вы должны быть конкретными с вашим путем для gpio и дайте точное местоположение, чтобы cron знал, где его найти, /usr/local/bin не импортируется cron:

/usr/local/bin/gpio

Так будет потом:

exec('/usr/local/bin/gpio write 7 0);
3

Другие решения

на линии

exec('gpio write 7 0);

должно ли это быть

exec('gpio write 7 0');

? Похоже, что «никогда не был закрыт.

0

По вопросам рекламы [email protected]