6

これまで CRON を使用したことはありませんが、PHP スクリプトのスケジュール ジョブを実行できるようにするために CRON を使用したいと考えています。php スクリプトは「inactivesession.php」と呼ばれ、php スクリプトには次のコードがあります。

<?php

include('connect.php');


$createDate = mktime(0,0,0,10,25,date("Y"));
$selectedDate =  date('d-m-Y', ($createDate));

$sql = "UPDATE Session SET Active = ? WHERE DATE_FORMAT(SessionDate,'%Y-%m-%d' ) <= ?";                                         
$update = $mysqli->prepare($sql);
$update->bind_param("is", 0, $selectedDate);
$update->execute();

?>

私がやりたいことは、上記の日付 (10 月 25 日) に達したときに、php スクリプトで上記の UPDATE ステートメントを実行することです。しかし、私の質問は、これを行うために CRON をどのように使用するかということです。

私が使用しているサーバーはヘリオスとして知られている大学のサーバーです.ヘリオスにCRONを設定する必要がありますか(これについては管理者に電話する必要がありますか)、それともCRONを使用する他のものですか.

私は以前に CRON を使用したことがないので、私が使用しているサーバーで上記の例に対して CRON をセットアップする方法を説明してもらえますか?

ありがとう

4

1 に答える 1

3

方法 1: crontab から php を使用してスクリプトを実行する

シェル スクリプトを呼び出す方法と同じように (crontab 15 の例の記事に示されているように)、php 実行可能ファイルを使用し、以下に示すように crontab から php スクリプトを呼び出します。

myscript.php を 1 時間ごとに実行するには、次のようにします。

crontab -e

00 * * * * /usr/local/bin/php /home/john/myscript.php

方法 2: crontab の URL を使用して php スクリプトを実行する

URL を使用して php スクリプトを呼び出すことができる場合は、lynx、curl、または wget を使用して、以下に示すように crontab をセットアップできます。

次のスクリプトは、lynx テキスト ブラウザーを使用して URL を呼び出すことにより、php スクリプトを (1 時間ごとに) 実行します。Lynx テキスト ブラウザは、デフォルトで URL をインタラクティブ モードで開きます。ただし、以下に示すように、lynx コマンドの -dump オプションは、URL の出力を標準出力にダンプします。

00 * * * * lynx -dump http://www.thegeekstuff.com/myscript.php

次のスクリプトは、CURL を使用して URL を呼び出して、php スクリプトを (5 分ごとに) 実行します。デフォルトでは、Curl は出力を標準出力に表示します。「curl -o」オプションを使用すると、以下に示すように、スクリプトの出力を一時ファイルにダンプすることもできます。

*/5 * * * * /usr/bin/curl -o temp.txt http://www.thegeekstuff.com/myscript.php

次のスクリプトは、WGET を使用して URL を呼び出して、php スクリプトを (10 分ごとに) 実行します。-q オプションは、quiet モードを示します。「-O temp.txt」は、出力が一時ファイルに送信されることを示します。

*/10 * * * * /usr/bin/wget -q -O temp.txt http://www.thegeekstuff.com/myscript.php
于 2012-10-24T21:01:03.890 に答える