连续执行相同的PHP脚本

时间:2011-02-28 13:43:12

标签: php include

我正在尝试以60秒的间隔执行一次名为csearch.php的脚本五次。我尝试了shell_execexec,但它说,它不能分叉等等。我认为最好的方法(因为这是在共享主机上)是使用include()

include('csearch.php');
sleep(60);
include('csearch.php');
sleep(60);
include('csearch.php');
sleep(60);
include('csearch.php');
sleep(60);
include('csearch.php');

csearch.php包含函数等。我想知道这是否可行(上面的代码)。如果没有,你推荐的最佳方式是什么?感谢。

编辑,这就是我使用exec执行此操作并失败的方法:

exec('/path/to/php /path/to/csearch.php');

3 个答案:

答案 0 :(得分:1)

你为什么要这样做?听起来你可能需要一个cronjob,或者在你的脚本中犯了错误。无论如何,如果脚本可以从“外部”访问(例如,通过HTTP执行),您可能希望使用cURL,因为它可以执行您请求的操作。

include('csearch.php');

$res = curl_init( 'http://site.com/csearch.php' );

while( $i < 5 ) {
   curl_exec( $res );
   sleep( 60 );
   $i ++;
}

但严重的是,你真正需要这样做的机会是非常苗条。

答案 1 :(得分:0)

答案 2 :(得分:0)

我会采用类似于Berry建议的方法,但不使用curl。

将csearch.php中的代码包装在函数中(例如perform_action)。

require_once('csearch.php');

for ($i = 0, $n = 5; $i < $n; $i++) {
    perform_action();

    if ($i < $n - 1) {
        // Only sleep if you need to
        sleep(60);
    }
}