2016-03-22 23 views
2

現在、リモートサーバ(この場合はJessieを実行しているRaspberry Pi 3)の時刻を設定するために使用する小さなPHPスクリプトがあります。phpスクリプトを使用してサーバに時刻を設定する

スクリプトは以下の通りです:

<?php 
    $curr_time = $_POST["time"]; 
    echo "Changing to " . $curr_time; 
    shell_exec("bash /var/www/html/bash/change_time.sh \" . $curr_time . \""); 
    echo "end changing" 
?> 

新しい時間は、クライアントのブラウザと同じ時刻に設定する必要があります。その時間はPOST変数としてスクリプトに渡されました。

時刻の設定用のスクリプトは、JavaScriptから取得した時刻の形式でサーバーから直接実行されているときに動作しますが、PHPを使用して実行しようとすると機能しません。

また、sudoersにWWWデータを追加しました(これは悪いことですが、サーバーはローカルなのでインターネットに接続されていません)。

このスクリプトを動作させる方法を正しい方向で教えてもらえますか?ありがとう!!!

+0

このスクリプトを実行します。例えば ​​'root'ですが、悪い方法です。 – Naumov

+0

' sudo bash/var/www/html/change_time.sh'を意味します – depecheSoul

答えて

1

linuxのコマンドdateを使用してください。だから秒としてタイムスタンプを渡す場合、あなたはPHPでこのコマンドを使用することができます:

shell_exec("date -s @1458644762"); 
+0

このタイムスタンプはUNIX時間ですか? 1970年1月1日以降?ありがとう! – depecheSoul

+0

はい、これを試してください:このウェブサイトで与えられた時間をとり、あなたのlinuxのコマンドを使用してください:http://www.epochconverter.com/ – rsabir

関連する問題