Home > Article > Backend Development > Detailed explanation of how to implement scheduled tasks in PHP_PHP Tutorial
This article summarizes some commonly used detailed explanations on how to implement scheduled tasks in PHP, including directly using PHP to operate, and using scheduled tasks of the operating system to operate. Students who need to know more can refer to it.
Each PHP script has a limited execution time, so we need to set the execution time of a script to unlimited through set_time_limit; then use flush() and ob_flush() to clear the server buffer and output the return value of the script at any time . When we execute, every 5 seconds, we will get a line of Hello World
The code is as follows | Copy code | ||||||||
set_time_limit(0);$infoString = "Hello World" . "n"; while( isset($infoString) ) { echo $infoString; flush(); ob_flush(); sleep(5); }
|
The code is as follows | Copy code |
ignore_user_abort(); // Even if the Client is disconnected (such as closing the browser), the PHP script can continue to execute. set_time_limit(0); // The execution time is unlimited , the default execution time of PHP is 30 seconds. Through set_time_limit(0), the program can be executed without limit $interval=20; ; // Configure files if (isset ($ _ get ['s'])) { if ($ _get ['s'] == "0") {// Stop stop Work, but don't exit $s="false"; echo "Function is off"; } elseif ($_GET['s']=="1" ){ // work $s="true"; echo "Function is on"; } elseif ($_GET['s']=="2" ){ // Exit $s="die"; echo "Function exited"; } else die("Err 0:stop working 1: working 2:exit"); $string = ""; write_inc($key_file,$string,true); exit(); } if(file_exists($key_file)){ do{ $mkey = include $key_file; if ($ mkey=="true"){ // If working ////////////////////// Working range /////////// /////////////////////// $showtime=date("Y-m-d H:i:s"); $fp = fopen ('func.txt','a'); fwrite($fp,$showtime."n"); fclose($fp); /////// ///////////////////////////////////////////////////// ////////// } elseif ($mkey=="die"){ /> } sleep($interval); // Wait for $interval minutes }while(true); } else die($key_file." doesn's 't exist !"); function write_inc($path,$strings,$type=false) { $path=dirname(__FILE__)."/".$path; if ($type==false) file_put_contents($path,$strings,FILE_APPEND); else file_put_contents($path,$strings); } ?> |
Personally, I feel that executing tasks regularly in PHP is still a bit complicated and difficult to use. Now I will introduce how to implement scheduled tasks in the operating system.
I looked for some methods on the Internet to execute PHP scheduled tasks in Windows, and one of them was very comprehensive, but unfortunately it didn’t pass in my case. In the end, I had to combine the methods of various sects to successfully operate it here.
1. Write a PHP program, named test.php, with the following content:
The code is as follows | Copy code | ||||||||
?> |
The code is as follows | Copy code |
D:phpphp.exe -q D:websitetest.php |
3. Create a WINDOWS scheduled task: Start–>Control Panel–>Task Schedule–>Add Task Schedule
Set the time and password (login to WINDOWS)
Save it.
代码如下 | 复制代码 |
# crontab -e 2.00 * * * * /usr/local/bin/php /home/john/myscript.php /usr/local/bin/php |
We can use Linux's Crontab Tools to trigger PHP execution tasks stably and reliably.
The two methods of Crontab are introduced below.
1. Use PHP to execute the script in Crontab
Just like calling a normal shell script in Crontab (specific Crontab usage), use the PHP program to call the PHP script.
代码如下 | 复制代码 |
1.00 * * * * lynx -dump /myscript.php |
1.
The code is as follows | Copy code | ||||
# crontab -e
|
The code is as follows | Copy code |
1.00 * * * * lynx -dump /myscript.php |
The code is as follows | Copy code |
1.*/5 * * * * /usr/bin/curl -o temp.txt /myscript.php |
The following example uses WGET to access the URL to execute a PHP script every 10 minutes. The -q option indicates quiet mode. "-O temp.txt" means the output will be sent to a temporary file.
The code is as follows
|
Copy code | ||||
http: //www.bkjia.com/PHPjc/444599.html