PHP ignore_user_abort函數(shù)詳細介紹和使用實例
ignore_user_abort 設置與客戶機斷開是否會終止腳本的執(zhí)行。
本函數(shù)返回 user-abort 設置的之前的值(一個布爾值)。
int ignore_user_abort ([ string $value ] )
參數(shù)setting描述:可選。如果設置為 true,則忽略與用戶的斷開,如果設置為 false,會導致腳本停止運行。
如果未設置該參數(shù),會返回當前的設置。
注釋:PHP 不會檢測到用戶是否已斷開連接,直到嘗試向客戶機發(fā)送信息為止。簡單地使用 echo 語句無法確保信息發(fā)送,參閱 flush() 函數(shù)。
例-1 一個的ignore_user_abort()的例子,配合set_time_limit()函數(shù) 和一個死循環(huán)就可以實現(xiàn)計劃任務功能。
<?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)計劃任務與持續(xù)進程實例,并通過一個可檢測效果的實例討論ignore_user_abort()函數(shù)的作用與用法。
ignore_user_abort() 可以實現(xiàn)當客戶端關閉后仍然可以執(zhí)行PHP代碼,可保持PHP進程一直在執(zhí)行,可實現(xiàn)所謂的計劃任務功能與持續(xù)進程,只需要開啟執(zhí)行腳本,除非 apache等服務器重啟或有腳本有輸出,該PHP腳本將一直處于執(zhí)行的狀態(tài),初看很實用,不過代價是一個PHP執(zhí)行腳本的持續(xù)進程,開銷很大,但卻可以 實現(xiàn)很多意想不到的功 能。
其描述為設置與客戶機斷開是否會終止腳本的執(zhí)行。
附:另一篇介紹
一,函數(shù)原型
int ignore_user_abort ( [bool setting] )
二,版本兼容
三,函數(shù)基礎用法與實例
1,函數(shù)基礎用法
<?php
ignore_user_abort();
?>
說明:調(diào)用ignore_user_abort()函數(shù)聲明即使客戶機斷開不終止腳本的執(zhí)行。
2,結合set_time_limit()函數(shù)實現(xiàn)一個循環(huán)腳本執(zhí)行任務
<?php
ignore_user_abort();
set_time_limit(0);
$interval=60*15;
do{
//執(zhí)行的業(yè)務
}while(true);
?>
說明:每隔15分鐘循環(huán)執(zhí)行
3,自定義實現(xiàn)文件輸出并跟蹤ignore_user_abort()函數(shù)的執(zhí)行結果
<?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)容如下:
Current Time: 1273735029 Stop: 9
其原理是即使客戶端終止腳本,仍然每隔10秒鐘執(zhí)行一次,并打印出當前時間與終止點,這樣就可以測試出ignore_user_abort()函數(shù)的具體效果。
通過實例發(fā)現(xiàn)ignore_user_abort()函數(shù)非常實用,實現(xiàn)計劃任務,完成后續(xù)任務,持續(xù)進程等非常有效。更多說明請參與PHP手冊。請關注下一期PHP內(nèi)置函數(shù)研究系列。
- php定時計劃任務與fsockopen持續(xù)進程實例
- win7計劃任務定時執(zhí)行PHP腳本設置圖解
- php定時計劃任務的實現(xiàn)方法詳解
- php中定時計劃任務的實現(xiàn)原理
- php 計劃任務 檢測用戶連接狀態(tài)
- PHP定時執(zhí)行計劃任務的多種方法小結
- 在WINDOWS中設置計劃任務執(zhí)行PHP文件的方法
- PHP計劃任務、定時執(zhí)行任務的實現(xiàn)代碼
- PHP計劃任務之關閉瀏覽器后仍然繼續(xù)執(zhí)行的函數(shù)
- php ignore_user_abort與register_shutdown_function 使用方法
- php計劃任務之ignore_user_abort函數(shù)實現(xiàn)方法
相關文章
PHP管理內(nèi)存函數(shù) memory_get_usage()使用介紹
我們在實際編碼中,要想實現(xiàn)對內(nèi)存的查看和操作,許多程序員們第一個想到的就是PHP memory_get_usage()這個PHP腳本內(nèi)存函數(shù)2012-09-09PHP中的session永不過期的解決思路及實現(xiàn)方法分享
讓PHP的session永不過期,你可能沒有遇到這么郁悶的問題,但是我遇到過,很郁悶。2011-04-04PHP簡單實現(xiàn)二維數(shù)組賦值與遍歷功能示例
這篇文章主要介紹了PHP簡單實現(xiàn)二維數(shù)組賦值與遍歷功能,涉及php數(shù)組的簡單賦值、遍歷、運算、讀取等操作使用技巧,需要的朋友可以參考下2017-10-10php導入大量數(shù)據(jù)到mysql性能優(yōu)化技巧
這篇文章主要介紹了php導入大量數(shù)據(jù)到mysql性能優(yōu)化技巧,通過針對SQL語句的優(yōu)化實現(xiàn)了mysql性能的提高,非常具有實用價值,需要的朋友可以參考下2014-12-12php數(shù)組函數(shù)序列之in_array() 查找數(shù)組值是否存在
in_array() 函數(shù)在數(shù)組中搜索給定的值2011-10-10php通過Chianz.com獲取IP地址與地區(qū)的方法
這篇文章主要介紹了php通過Chianz.com獲取IP地址與地區(qū)的方法,是解析IP地址與地區(qū)非常實用的技巧,需要的朋友可以參考下2015-01-01php實現(xiàn)替換手機號中間數(shù)字為*號及隱藏IP最后幾位的方法
這篇文章主要介紹了php實現(xiàn)替換手機號中間數(shù)字為*號及隱藏IP最后幾位的方法,涉及php字符串替換與正則操作的相關技巧,需要的朋友可以參考下2016-11-11