【问题标题】:how do I run php code without users visiting the page? [duplicate]如何在没有用户访问页面的情况下运行 php 代码? [复制]
【发布时间】:2012-02-12 17:08:13
【问题描述】:

可能重复:
Best way to periodically execute a PHP script?

我需要运行一个持续从一个站点收集信息的 php 脚本,一旦收集到该信息,我需要服务器将信息存储在数据库中,然后更新其他站点并不断重复该过程。唯一的问题是我需要这些 php 脚本在没有用户访问页面甚至网站的情况下运行。

不仅如此,我还需要脚本 24/7 全天候运行,或者至少在一个站点发生更改时运行,使其能够几乎立即更新其他站点。谁能建议我能做什么?

【问题讨论】:

  • 将脚本作为守护进程驻留或使用 cron 定期运行。虽然为了最小化(可能的)内存泄漏问题,我建议您每分钟使用 cron 运行它,并使用 locker 文件来防止多个进程,以防之前的启动尚未完成其工作。

标签: php javascript ajax continuous


【解决方案1】:

您可以让您的 PHP 脚本作为 cron 作业运行。

(当然,您需要能够在您的服务器上设置 cron 作业)

【讨论】:

  • 谢谢,虽然我不确定我是否能够编辑服务器,因为我将使用远程托管服务:(无论如何都可以在不编辑服务器的情况下使用它,或者还有其他解决方法吗?
【解决方案2】:

您正在寻找 Cron 工作:http://en.wikipedia.org/wiki/Cron

许多托管服务提供商都有一个可让您设置作业的界面。如果您的提供商使用 CPanel,请查看此页面:https://documentation.cpanel.net/display/68Docs/Cron+Jobs

如果在 Windows 上,则使用计划任务。

【讨论】:

  • 链接断开?我无法访问它
  • @gota:已修复,谢谢
【解决方案3】:

你必须使用 PHP 创建守护进程。

看看这个http://devlog.info/2010/03/07/creating-daemons-in-php/

【讨论】:

  • 在某些情况下很方便,但这不会在用户首先通过访问页面激活页面的情况下运行脚本。
  • 你是绝对正确的。也许我们可以有管理页面或类似的东西。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多