我之前从未使用过CRON,但我想使用CRON才能为php脚本执行计划作业。 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才能做到这一点?
我使用的服务器是大学的服务器,称为helios,是否需要在helios中设置CRON,(我必须为此调用管理员)还是其他使用CRON的服务器。
我之前从未使用过CRON,所以你能解释一下如何使用我正在使用的服务器为上面的例子设置CRON吗?
由于
答案 0 :(得分:3)
方法1:使用crontab中的php执行脚本
就像你调用shell脚本一样(如我们的crontab 15示例文章中所示),使用php可执行文件,并从crontab调用php脚本,如下所示。
要每1小时执行一次myscript.php,请执行以下操作:
00 * * * * /usr/local/bin/php /home/john/myscript.php
方法2:使用crontab中的URL
运行php脚本如果您的php脚本可以使用URL调用,您可以lynx,curl或wget设置您的crontab,如下所示。
以下脚本通过使用lynx文本浏览器调用URL来执行php脚本(每小时)。默认情况下,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选项表示完全模式。 “-O temp.txt”表示输出将发送到临时文件。
*/10 * * * * /usr/bin/wget -q -O temp.txt http://www.thegeekstuff.com/myscript.php