【问题标题】:PHP only runs if I reload pagePHP 仅在我重新加载页面时运行
【发布时间】:2018-02-22 17:42:32
【问题描述】:

我有一个 IF 语句,它只会在我重新加载页面时运行。代码如下:

if ($date == date('00:00:00') && (isset($postchecktoday))){
// Code goes here
}

if 语句在一个不断运行的函数中。当它到达 00:00:00 时,我必须重新加载页面,以便 if 语句真正运行。我基本上希望 if 语句自行运行,而不必在 00:00:00 重新加载页面。

它在 00:00:00 精确运行的全部意义在于它每 24 小时只运行一次 IF 语句。

有没有其他方法可以使用严格的 PHP 来做到这一点?我会使用 CRON 但不会每天执行一次整个 PHP 文件吗?目前我有一个不断运行代码的函数,以及该函数中的一个 if 语句,它只在 00:00:00 运行。除非 CRON 能够直接从 PHP 文件中调用 IF 语句,否则我不确定这对我是否有用。

【问题讨论】:

  • 这是一个糟糕的主意...您是在 Linux 服务器上运行它吗?无论哪种方式,让 CRON 任务在午夜运行并运行脚本。
  • 我对AJAX不熟悉,没试过。是的,这是在 Linux 服务器上。
  • CRON 将是最好的解决方案。
  • 我已经更新了关于 CRON 的原始问题。
  • 您如何使用从 Web 浏览器持续运行的 PHP 脚本?浏览器在等待输出时不会超时吗?

标签: php if-statement


【解决方案1】:

如果您需要将其分开,请创建 PHP 脚本并使用 CRON 每天执行一次,时间为 0 小时、0 分钟、0 秒。

参考this

【讨论】:

  • 有没有其他方法可以使用严格的 PHP 来做到这一点?我假设 CRON 会每天执行一次整个 PHP 文件?目前我有一个不断运行代码的函数,以及该函数中的一个 if 语句,它只在 00:00:00 运行。除非 CRON 能够直接从 PHP 文件中调用 IF 语句,否则我不确定这对我是否有用。如果我错了,请原谅我。
  • @user8426498 抱歉回复晚了。您可以轻松地将代码块放入其自己的 php 文件中并专门运行该文件。
  • @user8426498 严格使用 PHP,您需要一个记录上次运行日期的持久数据。问题是,将 00:00:00 等同于当前时间不会 100% 起作用。即使您加载该页面,您的计算机也可能会滞后一秒钟。您可以使用数据库字段并查看是否比一天,然后,如果不是,则运行它并更改该数据库条目。
猜你喜欢
  • 1970-01-01
  • 2022-01-09
  • 2016-08-18
  • 1970-01-01
  • 2019-06-07
  • 1970-01-01
  • 2021-11-28
  • 2013-10-26
相关资源
最近更新 更多