定期执行PHP脚本的最佳方法是什么?

时间:2011-07-28 01:03:07

标签: php cron

如果我可以完全访问服务器,我可能想办法做到这一点,但问题是它只是一个托管服务,除了 FTP访问< /强>

我想定期运行PHP脚本以检查过期/损坏的内容,汇总新内容,删除未使用的文件等,但脚本可以执行最多60秒(由于内容的聚合)我觉得只是在处理第一个访问网站的用户的请求后执行它就像是一个屁股:P

不能选择24/7离开家用电脑来安排请求。

5 个答案:

答案 0 :(得分:14)

您可以使用在线cron服务基本上假装您拥有cron访问权限。

创建包含您要执行的内容的php文件

Free Cron Online Website

设置免费的在线cron,每x分钟执行一次该文件。

答案 1 :(得分:4)

不确定这是否是正确的方法,但我过去只是在第一个用户访问网站时触发脚本,然后向用户发送<meta http-equiv="refresh"...以使其浏览器刷新页面。原始PHP脚本仍将在服务器上运行,但用户将不再看到它。

基本上是这样的:

if( check if the user is the first visitor today ) {
    set_time_limit(0);
    echo "<meta http-equiv='refresh' content='1;url=..." />"; // put your site baseurl in here

    ... run your scripts here
}

只是一个想法。可能不行。试试吧。

答案 2 :(得分:1)

使用以下解决方案(仅限PHP)可以不使用cron:How to run PHP cron tasks without cron available

答案 3 :(得分:0)

为什么不使用

crontab

看看这里:

Cron wiki

答案 4 :(得分:0)

如果您的托管服务提供商除了FTP访问权限之外没有提供任何内容,您不希望安排来自其他计算机的定期请求,那么您无能为力。您必须获得更好的托管帐户,最好是允许您使用cron的帐户。