程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP ignore_user_abort與connection_status與register_shutdown_fu

PHP ignore_user_abort與connection_status與register_shutdown_fu

編輯:關於PHP編程

PHP ignore_user_abort 與 connection_status 與 register_shutdown_function 使用方法
用ignore_user_abort()實現PHP計劃任務
語法: int ignore_user_abort(int [setting]);
返回值: 整數
函數種類: PHP 系統功能
內容說明
0 - NORMAL(正常)1 - ABORTED(異常退出)2 - TIMEOUT(超時)
本函數配置或取得使用端連接中斷後,PHP 程序是否仍繼續執行。默認值為中斷連接後就停止執行。
在 PHP 配置文件中 (php3.ini/php.ini) 的 ignore_user_abort 選項就是配置處。本功能在 PHP 3.0.7 版之後才開始提供。
ignore_user_abort,這個函數可以幫助我們實現像linux中的cron一樣實現計劃任務,用戶關掉浏覽器後還可以執行。
首先修改你的php.ini,將“; ignore_user_abort = On”的注釋去掉,重啟一下Apache或IIS。
運用sleep(300)+死循環, 這樣就可以實現計劃任務了, 這個程序裡不要有輸出, 有輸出容易中斷。
缺點: 要停止程序必得重啟服務器,占內存大!!
<?php
ignore_user_abort(true);
set_time_limit(0);
while(1){
    $fp = fopen(time_task.txt,"a+");
    $str = date("Y-m-d h:i:s")."n";
    fwrite($fp,$str);
    fclose($fp);
    sleep(1800);    //半小時執行一次
}
?>
PHP代碼
<?php
    ignore_user_abort(true); // 啟用函數
    set_time_limit(0); // 無限次數執行腳本
    $interval=60*2; // 每兩分鐘執行一次
    do{
    // 執行的內容開始
    file_get_contents("http://www.liujingze.com/"); // 需要執行的過程
    // 執行的內容結束
    sleep($interval); // 按設置的間隔時間執行
    }while(true);
?>
PHP計劃任務實例代碼
<?
ignore_user_abort();
set_time_limit(0);
$interval_second = 15;
do{
    @$fp = fopen("leapsoulcn.txt","a");
    if(!$fp)
    {
        echo "system error";
        exit();
    }
    else
    {
        $fileData = "domain"." "."www.leapsoul.cn"." ";
        $fileData = $fileData."description"." "."PHP網站開發教程網,面向PHP初學者的PHP教程網。"." ";
        $fileData = $fileData."title"." "."本教程主要講述使用ignore_user_abort函數實現PHP計劃任務功能。";
        fwrite($fp, $fileData);
        fclose($fp);
    }
    sleep($interval_second);
}while(true);
?>

connection_status
取得連接狀態。
語法: int connection_status(void);
返回值: 整數
函數種類: 網絡系統
內容說明
本函數可返回連接狀態。使用時不須輸入參數
 
register_shutdown_function
定義 PHP 程序執行完成後執行的函數。
語法: int register_shutdown_function(string func);
返回值: 整數
函數種類: PHP 系統功能
內容說明
本函數向系統定義 PHP 程序 (Script) 執行結束之後所要執行的函數。當執行該指定的函數時,由於無法看到返回值,因此調試較困難。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved