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

Mus*_*lal 15 php cron

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

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

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

但是,如果我们只是擦除查询它工作正常.你们知道任何使这个链接在cron工作的代码吗?

wyq*_*syq 37

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

您需要使用如下命令:

php /home/USER/public_html/cron.php

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

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

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

  • 如果你必须通过HTTP运行脚本(这通常是一个坏主意)并且你的服务器有一个静态(和专用)IP地址,你可以通过将cron脚本包含在一个来限制访问只来自你的服务器条件检查`$ _SERVER ['REMOTE_HOST']`匹配服务器的IP地址.这不是万无一失的,你最安全的选择就是在你的web目录之外放置cron脚本. (4认同)

Cal*_*ain 7

我会添加哈希像

curl http://www.wetube.org/cron.php?id=01001&hash=cm349ucKuc023b2ynGyv23ycr23
Run Code Online (Sandbox Code Playgroud)

并在PHP文件中

if(isset($_GET['hash']) && $_GET['hash']=='cm349ucKuc023b2ynGyv23ycr23'){
....
stuff to do
....
}
Run Code Online (Sandbox Code Playgroud)

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