自动在时间段后在服务器上运行PHP页面

时间:2013-05-18 18:19:11

标签: php

我有一个PHP页面,可以在数据库中读写一些数据。我有没有办法每隔n秒自动运行服务器上的PHP页面(而不是客户端的请求)?

3 个答案:

答案 0 :(得分:4)

不是拥有cronjob,而是拥有'守护进程'样式脚本可能更容易/更有效。

一个始终在运行的脚本,只是按设定的时间间隔执行某些操作。

<?php
    while(true) {
        do_stuff();
        sleep(30);
    }

(更有效率,因为脚本不需要在每次运行时都进行完全启动。它可以在调用do_stuff之间保持配置等。)

How to run process as background and never die?

当然'do_stuff()'实际上可能只是在调用另一个脚本

function do_stuff() {
    file_get_contents('http://example.com/scripts/calc.php');
}

答案 1 :(得分:2)

根据您的Linux风格,您需要设置一个cronjob。

请参阅此处了解一点:http://www.cyberciti.biz/faq/how-do-i-add-jobs-to-cron-under-linux-or-unix-oses/

答案 2 :(得分:0)

如果你的工作可以每X分钟运行一次,那么你应该注册一个cron作业(我假设你正在使用linux服务器)。打开控制台并输入:

$crontab -e

然后添加以下行:

*/10 * * * * php /home/yourdir/the-script.php

这将每10分钟调用一次脚本。如果你需要使用绝对文件路径,我不是肯定的,但这就是我的工作,它起作用:)