Я уже несколько часов стучаю головой об этом.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
при выполнении задания хрон выглядит хорошо для меня, Херес образец:
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
Любая помощь будет принята с благодарностью.
Заранее спасибо.
Нет, это была опечатка, когда я писал сообщение. Хороший улов. Я обновил сообщение соответственно. спасибо –
какой компьютер/сервер ОС вы его запускаете? Кажется, что php не выполняет скрипт. На новых серверах ubuntu вы можете просто использовать 'php' вместо'/usr/bin/php' в скрипте cron. Некоторые из них получают придирчивый edit- я вижу, вы говорите, что используете его на ras-pi, попробуйте попробовать – brettywhite