我每天都在使用cron作业在php页面上运行电子邮件计划 . 当我使用链接运行页面时,PHP代码工作正常 .
现在,当我使用cron作业运行php脚本时,它也可以正常工作但是当我提出一些查询时,cron作业将无法理解链接 .
例如: http://www.wetube.org/cron.php?id=01001 所以现在如果我尝试使用cron job每天运行它,那么's doesn'工作 .
http://www.wetube.org/cron.php?id=01001
但是,如果我们只是擦除查询它工作正常 . 你们知道任何使这个链接在cron工作的代码吗?
Cron运行命令,因为它们将通过shell运行,因此运行PHP将使用本地路径 .
您需要使用如下命令:
php /home/USER/public_html/cron.php
或者,如果需要包含查询字符串,请改用cURL(如果已安装):
curl http://www.wetube.org/cron.php?id=01001
您可能希望不要将您的cron脚本暴露给互联网 - 将它们移到您的网络目录之外,因为如果有人发现它,他们可以不断地将其重新加载到您的cron脚本垃圾邮件(即发送大量电子邮件)
我会添加哈希像
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文件中进行哈希,甚至是时间然后检查它们是否相同 - 黑客不可能重新创建它 - 除非他以某种方式得到你的原始哈希设置
2 回答
Cron运行命令,因为它们将通过shell运行,因此运行PHP将使用本地路径 .
您需要使用如下命令:
php /home/USER/public_html/cron.php
或者,如果需要包含查询字符串,请改用cURL(如果已安装):
curl http://www.wetube.org/cron.php?id=01001
您可能希望不要将您的cron脚本暴露给互联网 - 将它们移到您的网络目录之外,因为如果有人发现它,他们可以不断地将其重新加载到您的cron脚本垃圾邮件(即发送大量电子邮件)
我会添加哈希像
并在PHP文件中
*您甚至可以在应该运行时添加特定的时间/日期检查 .
*你可以检查IP
*生成sha512(我建议)使用相同的盐在cron和php文件中进行哈希,甚至是时间然后检查它们是否相同 - 黑客不可能重新创建它 - 除非他以某种方式得到你的原始哈希设置