cronからPHPスクリプトを実際に実行する方法がわからない場合は、2つのオプションがあります。PHPインタープリターを直接呼び出す(つまり、「php /foo/myscript.php」)か、lynx(lynx http:// mywebsite)を使用します。 com / myscript.php)。どちらを選択するかは、主にスクリプトで環境を構成する方法によって異なります。パスとファイルアクセス許可は、シェルまたはWebブラウザーのどちらから呼び出すかによって異なります。lynxの使用をお勧めします。
副作用の1つは、実行するたびに電子メールを受信することです。これを回避するために、cron PHPスクリプトが正常に完了した場合は何も出力せず(空白でさえも何も出力しないようにする必要があります)、失敗した場合はエラーメッセージを出力します。次に、cronの小さなPHPスクリプトを使用してそれらを呼び出します。このように、私はそれが失敗した場合にのみ電子メールを受け取ります。これは基本的にlynxメソッドと同じですが、シェルスクリプトがlynxではなくHTTPリクエストを作成する点が異なります。
このスクリプトを「docron」などと呼び(chmod + xを忘れないでください)、crontabでコマンド「docronhttp://mydomain.com/myscript.php」を使用します。ページが何かを返す場合は、ページの出力をHTML電子メールとして電子メールで送信します。
#!/usr/bin/php
<?php
$h = @file_get_contents($_SERVER['argv'][1]);
if ($h === false)
{
$h = "<b>Failed to open file</b>: " . $_SERVER['argv'][1];
}
if ($h != '')
{
@mail("cron@mydomain.com", $_SERVER['argv']['1'], $h, "From: cron@mydomain.com\nMIME-Version: 1.0\nContent-type: text/html; charset=iso-8859-1");
}
?>