讓PHP程序永遠在后台運行


PHP里有個函數很有用。這是在最近的開發中才逐漸用到的。
int ignore_user_abort ( [bool setting] )
這個函數的作用是指示服務器端在遠程客戶端關閉連接后是否繼續執行下面的腳本。

setting 參數是一個可選參數。如設置為True,則表示如果用戶停止腳本運行,仍然不影響腳本的運行(即:腳本將持續執行);如果設置為False,則表示當用戶停止運行腳本程序時,腳本程序將停止運行。

下面這個例子,在用戶關閉瀏覽器后,該腳本仍然后在服務器上繼續執行:

   
   
   
           
  1. <?php
  2. ignore_user_abort(); // 后台運行
  3. set_time_limit(0); // 取消腳本運行時間的超時上限
  4. do{
  5. sleep(60); // 休眠1分鍾
  6. }while(true);
  7. ?>


除非在服務器上關閉這個程序,否則這斷代碼將永遠執行下去。

-------------------------------------------------------------------------

   
   
   
           
  1. <?php
  2.    ignore_user_abort(); // 后台運行
  3.    set_time_limit(0); // 取消腳本運行時間的超時上限
  4.    echo 'start.';
  5.    while(!file_exists('close.txt')){
  6.     $fp = fopen('test.txt','a+');
  7.     fwrite($fp,date("Y-m-d H:i:s") . " 成功了!rn");
  8.     fclose($fp);
  9.     sleep(10);
  10.    }
  11.    echo 'end.';
  12. ?>





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM