每2秒运行一次php脚本

时间:2017-09-25 08:51:30

标签: php cron

我有一个php文件,我希望每2秒运行1分钟。因为在我的服务器中我只能设置min cron 1分钟。所以我制作了这个剧本。

<?php
$start = microtime(true);
set_time_limit(60);
for ($i = 0; $i < 59; ++$i) {
    shell_exec('/usr/local/bin/php /usr/local/www/my_file.php');
    time_sleep_until($start + $i + 2);
}
?>

和第二个选项是。

<?php
for ($i = 0; $i <= 59; $i+=2) {
    shell_exec('/usr/local/bin/php /usr/local/www/my_file.php');
    sleep(2);
}
?>

但是它们都不起作用,因为我的脚本执行时间是50到60秒。所以,它不是每2秒运行一次,而是每50秒运行60秒。那么,有没有任何解决方案,每2秒开始新的脚本执行?我没有任何想法请帮助我。

1 个答案:

答案 0 :(得分:2)

您可以编写一个bash脚本,每2秒执行一次定义的PHP脚本。这个bash脚本可以通过cronjob执行。

示例:

#!/bin/bash

count=10

for i in `seq 1 $count`; do
    /bin/php /path/to/scrip.php &
    sleep 2
done