我正在尝试以60秒的间隔执行一次名为csearch.php
的脚本五次。我尝试了shell_exec
和exec
,但它说,它不能分叉等等。我认为最好的方法(因为这是在共享主机上)是使用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');
答案 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);
}
}