私はこれに何時間も頭をぶつけてきました。
cronジョブを介してphpスクリプトを実行していますが、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
どんな助けでも大歓迎です。
前もって感謝します。
gpio
cronがそれを見つける場所を認識し、/usr/local/bin
cronによってインポートされないように、パスを具体的に指定し、正確な場所を指定する必要があります。
/usr/local/bin/gpio
したがって、次のようになります。
exec('/usr/local/bin/gpio write 7 0);
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加