我有一个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秒开始新的脚本执行?我没有任何想法请帮助我。
答案 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