如果您想知道如何从 cron 实际运行 PHP 脚本,有两种选择:直接调用 PHP 解释器(即“php /foo/myscript.php”),或使用 lynx(lynx http://mywebsite.php)。 com/myscript.php)。您选择哪一个主要取决于您的脚本需要如何配置其环境 - 路径和文件访问权限会有所不同,具体取决于您是通过 shell 还是 Web 浏览器调用它。我建议使用lynx。
一个副作用是每次运行时都会收到一封电子邮件。为了解决这个问题,如果它们成功完成,我让我的 cron PHP 脚本不输出任何内容(并且它必须是任何内容,甚至不是空格),如果它们失败则输出错误消息。然后我使用来自 cron 的一个小型 PHP 脚本调用它们。这样,如果失败,我只会收到一封电子邮件。这与 lynx 方法基本相同,只是我的 shell 脚本发出 HTTP 请求而不是 lynx。
将此脚本称为“docron”或其他名称(记住 chmod +x),然后在您的 crontab 中使用命令:“docron http://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");
}
?>