如何使用cron作业运行php文件

时间:2012-04-10 22:55:14

标签: php cron

我每天都会在php页面上使用cron作业运行电子邮件计划。当我使用链接运行页面时,php代码工作正常。

现在当我使用cron作业运行php脚本时,它也可以正常工作但是当我提出一些查询时,cron作业将无法理解该链接。

例如:http://www.wetube.org/cron.php?id=01001所以现在如果我尝试使用cron job每天运行它,它就不起作用。

但是如果我们只是擦除查询就可以了。你们知道任何使这个链接在cron工作中起作用的代码吗?

2 个答案:

答案 0 :(得分:37)

Cron运行命令,因为它们将通过shell运行,因此运行PHP将使用本地路径。

您需要使用如下命令:

php /home/USER/public_html/cron.php

或者如果需要包含查询字符串,请改用cURL(如果已安装):

curl http://www.wetube.org/cron.php?id=01001

您可能希望查看不将您的cron脚本暴露给互联网 - 将它们移到您的网络目录之外,因为如果有人发现它,他们可以不断地重新加载它以垃圾邮件您的cron脚本(即发送大量电子邮件)

答案 1 :(得分:7)

我会像

一样添加哈希
curl http://www.wetube.org/cron.php?id=01001&hash=cm349ucKuc023b2ynGyv23ycr23

并在php文件中

if(isset($_GET['hash']) && $_GET['hash']=='cm349ucKuc023b2ynGyv23ycr23'){
....
stuff to do
....
}

*您甚至可以在应该运行时添加特定的时间/日期检查 *你可以检查IP
*生成sha512(我建议)使用相同的盐在cron和php文件中进行哈希,甚至是时间然后检查它们是否相同 - 黑客不可能重新创建它 - 除非他以某种方式得到你的原始哈希设置