0

我们正在构建一个使用来自 api 的数据的应用程序。我们不想处理所有这些数据,因为它太多了。我们希望每天捕获 4 次数据。因此,我们需要一个无需按钮或人工帮助即可将其保存到数据库的 php 脚本。

我们知道如何获取数据并了解如何将其上传到数据库。我们不知道如何定时执行此操作,也不知道这是否可能。

我们尝试使用此代码执行此操作,但需要刷新页面才能回显。

if (date('His') == 114300) {
  echo date('His');
}
4

3 回答 3

2

PHP 脚本仅在通过浏览器或其他客户端的请求调用或通过命令行运行时运行。

从理论上讲,您可以创建一个具有无限执行时间的脚本并运行该脚本。该脚本需要检查服务器时间并发出请求。问题是如果服务器重新启动等它会停止。它也非常低效。

只需每天四次使用cronjob调用您的脚本,例如:

0 */6 * * * curl -k http://example.com/download.php >/dev/null 2>&1

/6意味着每六个小时。该curl命令调用脚本并>/dev/null丢弃输出。

于 2014-01-14T11:02:58.277 回答
2

最好的方法是创建一个每天运行 4 次的 cron 作业

0  13,14,15,16  *       *       *       /usr/bin/php path/to/cron.php &> /dev/null

您的 path/to/cron.php 将在 13:00、14:00、15:00 和 16:00 运行

http://www.thegeekstuff.com/2011/07/php-cron-job/

于 2014-01-14T11:07:23.777 回答
1

如果您有服务器(独立/vps,具有 shell 访问权限),请安装 cron 作业。

如果您有 cpanel 访问权限,请找到 cron 作业设置。

于 2014-01-14T11:03:12.257 回答