2012-02-27 3 views
3

Unixの 'at'コマンドを使用して、特定の時刻に単一のPHP関数を実行するようスケジュールすることはできますか?もしそうなら、これはどのように行われますか?Unix 'at'コマンドを使用して単一機能を実行する

これは、後で実行する単一の機能のスケジューリングを処理する最善の方法ですか?

答えて

5

確かに、あなたは、コマンドラインで実行するatcronを使用して、PHPに-Rフラグを渡すことができます。

# Run phpinfo() at 12:30... 
echo php -R 'phpinfo();' | at 12:30 

か、それを複数のコマンド

を含むことができ、ファイルを呼び出すために、おそらくより良いです
echo 'php /path/to/yourfile.php' | at 12:30 
+0

私が作成した機能についてはどうですか?それが呼び出される方法はありますか、それとも標準的なPHP関数でしかありませんか?上記を呼び出すスクリプトで設定された変数は、後で実行されるときに関数に渡されますか? –

+1

@RhodesianHunter独自の関数を実行するには、ファイルをインクルードして呼び出す必要があります。その時点で、関数を定義して実行するファイルを実行するほうがはるかに優れています。値を後で使用できるようにするには、呼び出し間に永続性がないため、値をデータベースまたはテキストファイルに書き込む必要があります。 –

+0

私は私のPHPファイルを実行するコマンドの前に "echo"を書くのを忘れていました。ありがとうございました! – cawecoy

1

あなたはPHPスクリプトが必要になること

0

を行うためのexec()関数を使用してみてくださいPHPスクリプトから、それを実行する場合PHPインタープリタの内部で永続的に使用することができます。

execのようなものを使用して、使用しているunixコマンドを作成してから、phpコマンドラインバージョンを呼び出して動作させるのが最善の方法です。詳細はScheduling php scriptsをご覧ください。

関連する問題