如何定期更新php?

如何定期更新php?,php,web,Php,Web,我需要我的网站偶尔读一个文件,以更新自己。(如有可能,每天或每周) php能够单独实现这一点吗?(据我所见,答案是“不”) 我还能用什么做这个?(Sql似乎可以工作,但我已经搜索过了,不能确定)您可以在unix系统上使用crontables来运行定期更新。您可以在unix系统上使用crontables来运行定期更新。您可以使用cronjob以给定的间隔(例如每天中午12点)执行php脚本 如果你不能使用真正的cronjobs:也有一些网站提供免费的“cronjobs”——你给他们一个URL,他们

我需要我的网站偶尔读一个文件,以更新自己。(如有可能,每天或每周)

php能够单独实现这一点吗?(据我所见,答案是“不”)


我还能用什么做这个?(Sql似乎可以工作,但我已经搜索过了,不能确定)

您可以在unix系统上使用crontables来运行定期更新。

您可以在unix系统上使用crontables来运行定期更新。

您可以使用cronjob以给定的间隔(例如每天中午12点)执行php脚本


如果你不能使用真正的cronjobs:也有一些网站提供免费的“cronjobs”——你给他们一个URL,他们在你告诉他们的时候访问。只需在谷歌上搜索“免费cronjobs”。

您可以使用一个cronjob,在给定的时间间隔(例如每天中午12点)执行php脚本

如果你不能使用真正的cronjobs:也有一些网站提供免费的“cronjobs”——你给他们一个URL,他们在你告诉他们的时候访问。只需谷歌搜索“免费cronjobs”。

使用Cron:

crontab -e
然后像在vim或vi中一样编辑文件

这将每天执行:

0 0 0 0 0-6 /absolute/path/to/the/executable
如果您想让您的php脚本可执行,请使用ol'she bang。加:

#!/usr/bin/php
或者,无论php解释器的路径是什么,都可以指向php文件的第一行,然后执行以下操作:

chmod a+x yourfile.php
使用Cron:

crontab -e
然后像在vim或vi中一样编辑文件

这将每天执行:

0 0 0 0 0-6 /absolute/path/to/the/executable
如果您想让您的php脚本可执行,请使用ol'she bang。加:

#!/usr/bin/php
或者,无论php解释器的路径是什么,都可以指向php文件的第一行,然后执行以下操作:

chmod a+x yourfile.php

Cronjobs是显而易见的答案(对于基于linux的服务器)。 但是,对于没有能力/权限在特定环境中执行此操作的人员

另一个选择是构建一个模拟的cron。 它基本上在每次加载站点/页面时执行脚本。
然后可以检查当前时间/日期,并决定是否需要执行进一步的操作,在您的情况下是更新操作。

Cronjobs是显而易见的答案(对于基于linux的服务器)。 但是,对于没有能力/权限在特定环境中执行此操作的人员

另一个选择是构建一个模拟的cron。 它基本上在每次加载站点/页面时执行脚本。
然后,这可以检查当前时间/日期,并决定是否需要执行进一步的操作,在您的例子中是更新操作。

除了真实的cronjobs,还有第二种选择-模拟的cronjobs。每次用户访问一个站点时,他们自己就可以触发“cron作业”。一个表包含cron信息(要运行的频率、要运行的命令),如果当前时间减去上次运行脚本的时间超过了间隔,则执行命令。当然,不利的一面是,如果没有人访问该站点,“cron作业”将不会运行。实际上,我已经考虑过在页面加载时进行更新。我拒绝了这个想法,因为我想保持一致性而不是方便性。@Seidr我也有类似的想法,但我又想到了一个问题,那就是如果我们让除admin之外的任何用户成为cornjob的触发器,那么有几个警告,1。所提到的需要按时间间隔运行的作业可能需要异常长的时间才能执行到完成,这可能会让用户感到恼火,并使他关闭选项卡,这意味着任务无法完全运行。2.它可以输出一些用户从未预料到的错误/异常,因为他只想做一些简单的事情,但不知道在后台会发生很多事情。这是真的,但是您可以通过扩展thread类将它们激发到自己的线程中。这也应该防止任何输出返回给用户。如果您遇到了这种情况,您还可以使用ob_start和ob_end_clean在cron作业运行期间/之后存储/清除输出缓冲流。每次用户访问一个站点时,他们自己就可以触发“cron作业”。一个表包含cron信息(要运行的频率、要运行的命令),如果当前时间减去上次运行脚本的时间超过了间隔,则执行命令。当然,不利的一面是,如果没有人访问该站点,“cron作业”将不会运行。实际上,我已经考虑过在页面加载时进行更新。我拒绝了这个想法,因为我想保持一致性而不是方便性。@Seidr我也有类似的想法,但我又想到了一个问题,那就是如果我们让除admin之外的任何用户成为cornjob的触发器,那么有几个警告,1。所提到的需要按时间间隔运行的作业可能需要异常长的时间才能执行到完成,这可能会让用户感到恼火,并使他关闭选项卡,这意味着任务无法完全运行。2.它可以输出一些用户从未预料到的错误/异常,因为他只想做一些简单的事情,但不知道在后台会发生很多事情。这是真的,但是您可以通过扩展thread类将它们激发到自己的线程中。这也应该防止任何输出返回给用户。如果您遇到了这种情况,还可以使用ob_start和ob_end_clean在cron作业运行期间/之后存储/清除输出缓冲流。