Home >Backend Development >PHP Tutorial >PHP files can also be executed every few seconds
If we need to use a PHP code extractor to operate on the database and save the results. If the method is to trigger the execution of this code when the user requests it, obviously the user's response time will become longer, affecting the user experience! If you use the operating system's scheduled tasks, the execution frequency is also very high.
Here is a simple example:
<?php ignore_user_abort();//关闭浏览器仍然执行 set_time_limit(0);//让程序一直执行下去 $interval=3;//每隔一定时间运行 do{ $msg=date("Y-m-d H:i:s"); file_put_contents("log.log",$msg,FILE_APPEND);//记录日志 sleep($interval);//等待时间,进行下一次操作。 }while(true); ?>
It should be noted that the program does not write an end judgment statement, and it will loop endlessly. Of course, if you want to stop it, you can restart apache. After restarting, it will be invalid. If you want to perform scheduled execution again, run this code again.
The above simple example can illustrate this principle.
So for the above example, I can make some improvements.
You need a switch to execute the script. You can implement it by introducing an external file. In the while loop, just include the switch variable. Then it can be achieved like this:
Create an external imported variable file switch.php with the following content:
<?php return 1;//1执行脚本 0退出执行脚本 ?> 改良脚本如下: <?php ignore_user_abort();//关闭浏览器后,继续执行php代码 set_time_limit(0);//程序执行时间无限制 $sleep_time = 5;//多长时间执行一次 $switch = include 'switch.php'; while($switch){ $switch = include 'switch.php'; $msg=date("Y-m-d H:i:s").$switch; file_put_contents("log.log",$msg,FILE_APPEND);//记录日志 sleep($sleep_time);//等待时间,进行下一次操作。 } exit(); ?>
In the past, maybe we didn’t know why the server would respond for a long time, but through the comparison of two examples , we already know how to implement PHP files to be executed every few seconds, and thus we have found a solution.
Related recommendations:
Summary about PHP file functions
##Summary of PHP file functions and directory functions
The above is the detailed content of PHP files can also be executed every few seconds. For more information, please follow other related articles on the PHP Chinese website!