国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > PHP > 正文

PHP ignore_user_abort函數(shù)詳細介紹和使用實例

2024-05-04 23:24:22
字體:
供稿:網(wǎng)友

ignore_user_abort 設(shè)置與客戶機斷開是否會終止腳本的執(zhí)行。

本函數(shù)返回 user-abort 設(shè)置的之前的值(一個布爾值)。
int ignore_user_abort ([ string $value ] )

 參數(shù)setting描述:可選。如果設(shè)置為 true,則忽略與用戶的斷開,如果設(shè)置為 false,會導(dǎo)致腳本停止運行。
如果未設(shè)置該參數(shù),會返回當(dāng)前的設(shè)置。

注釋:PHP 不會檢測到用戶是否已斷開連接,直到嘗試向客戶機發(fā)送信息為止。簡單地使用 echo 語句無法確保信息發(fā)送,參閱 flush() 函數(shù)。

例-1 一個的ignore_user_abort()的例子,配合set_time_limit()函數(shù) 和一個死循環(huán)就可以實現(xiàn)計劃任務(wù)功能。

復(fù)制代碼 代碼如下:


<?php
ignore_user_abort(true);
 
set_time_limit(0);
echo 'Testing connection handling in PHP';
while (1)
{
    if (connection_status() != CONNECTION_NORMAL) {
 
        break;
 
    }
    // Sleep for 10 seconds
    sleep(10);
}
?>

PHP內(nèi)置函數(shù)研究系列第二期,采用PHP函數(shù)ignore_user_abort實現(xiàn)計劃任務(wù)與持續(xù)進程實例,并通過一個可檢測效果的實例討論ignore_user_abort()函數(shù)的作用與用法。

ignore_user_abort() 可以實現(xiàn)當(dāng)客戶端關(guān)閉后仍然可以執(zhí)行PHP代碼,可保持PHP進程一直在執(zhí)行,可實現(xiàn)所謂的計劃任務(wù)功能與持續(xù)進程,只需要開啟執(zhí)行腳本,除非 apache等服務(wù)器重啟或有腳本有輸出,該PHP腳本將一直處于執(zhí)行的狀態(tài),初看很實用,不過代價是一個PHP執(zhí)行腳本的持續(xù)進程,開銷很大,但卻可以 實現(xiàn)很多意想不到的功 能。

其描述為設(shè)置與客戶機斷開是否會終止腳本的執(zhí)行。

附:另一篇介紹

一,函數(shù)原型

復(fù)制代碼 代碼如下:


int ignore_user_abort ( [bool setting] )


二,版本兼容

復(fù)制代碼 代碼如下:

PHP 3 >= 3.0.7, PHP 4, PHP 5

三,函數(shù)基礎(chǔ)用法與實例
1,函數(shù)基礎(chǔ)用法

復(fù)制代碼 代碼如下:


<?php
ignore_user_abort();
?>


說明:調(diào)用ignore_user_abort()函數(shù)聲明即使客戶機斷開不終止腳本的執(zhí)行。

2,結(jié)合set_time_limit()函數(shù)實現(xiàn)一個循環(huán)腳本執(zhí)行任務(wù)

復(fù)制代碼 代碼如下:


<?php
ignore_user_abort();
set_time_limit(0);
$interval=60*15;
do{
//執(zhí)行的業(yè)務(wù)
}while(true);
?>


說明:每隔15分鐘循環(huán)執(zhí)行

3,自定義實現(xiàn)文件輸出并跟蹤ignore_user_abort()函數(shù)的執(zhí)行結(jié)果

復(fù)制代碼 代碼如下:


<?php
ignore_user_abort ( TRUE );
set_time_limit ( 0 );
$interval = 10;
$stop = 1;
do {
    if( $stop == 10 ) break;
    file_put_contents('liuhui.php',' Current Time: '.time().' Stop: '.$stop);
    $stop++;
    sleep ( $interval );
} while ( true );
?>


打開liuhui.php文件,文件內(nèi)容如下:

復(fù)制代碼 代碼如下:


Current Time: 1273735029 Stop: 9


其原理是即使客戶端終止腳本,仍然每隔10秒鐘執(zhí)行一次,并打印出當(dāng)前時間與終止點,這樣就可以測試出ignore_user_abort()函數(shù)的具體效果。

通過實例發(fā)現(xiàn)ignore_user_abort()函數(shù)非常實用,實現(xiàn)計劃任務(wù),完成后續(xù)任務(wù),持續(xù)進程等非常有效。更多說明請參與PHP手冊。請關(guān)注下一期PHP內(nèi)置函數(shù)研究系列。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 邵武市| 苗栗县| 丰城市| 浙江省| 六枝特区| 沁阳市| 太仆寺旗| 武定县| 阜平县| 宝应县| 泰兴市| 曲水县| 辉县市| 磐安县| 东丰县| 绥芬河市| 西峡县| 漳浦县| 隆子县| 锦屏县| 威海市| 昌图县| 阿拉尔市| 富源县| 泽州县| 玛纳斯县| 宜宾市| 衡水市| 汶川县| 九龙城区| 余江县| 栖霞市| 张家界市| 宜兰市| 资源县| 德清县| 江安县| 定边县| 晋州市| 翼城县| 东宁县|