sleep() - 延緩執(zhí)行
usleep() - 以指定的微秒數(shù)延遲執(zhí)行
time_nanosleep — 延緩執(zhí)行若干秒和納秒
time_sleep_until() - 使腳本睡眠到指定的時間為止物遇。
set_time_limit() - 設置腳本最大執(zhí)行時間
sleep() - 延緩執(zhí)行
說明
int sleep ( int $seconds )
程序延遲執(zhí)行指定的 seconds 的秒數(shù)。
參數(shù):seconds 暫停的秒數(shù)帆竹。
返回值: 成功時返回 0骡澈,錯誤時返回 FALSE嚎尤。
如果函數(shù)的調用被一個信號中止,sleep() 會返回一個非零的值。在Windows上画株,該值總是 192(即Windows API常量WAIT_IO_COMPLETION的值)。其他平臺上啦辐,該返回值是剩余未sleep的秒數(shù)谓传。
錯誤/異常: 如果指定的 seconds 是負數(shù),該函數(shù)會產生一個 E_WARNING 級別的錯誤芹关。
例子
1
2// current time
3echodate('h:i:s') ."\n";
4// sleep for 10 seconds
5sleep(10);
6// wake up !
7echodate('h:i:s') ."\n";
8?>
該例子會在休眠10秒后輸出续挟。
05:31:23
05:31:33
usleep() - 以指定的微秒數(shù)延遲執(zhí)行
說明
void usleep ( int $micro_seconds )
以指定的微秒數(shù)延緩程序的執(zhí)行。
參數(shù): micro_seconds? 暫停的時間以微秒計侥衬。1微秒(micro second)是百萬分之一秒诗祸。
返回值: 沒有返回值。
例子
1
2// Current time
3echodate('h:i:s') ."\n";
4// wait for 2 seconds
5usleep(2000000);
6// back!
7echodate('h:i:s') ."\n";
8?>
以上例程會輸出:
11:13:28
11:13:30
time_nanosleep — 延緩執(zhí)行若干秒和納秒
說明
mixed time_nanosleep ( int $seconds , int $nanoseconds )
程序延緩執(zhí)行指定數(shù)量的 seconds 和 nanoseconds轴总。
參數(shù): seconds? 必須是一個非負整數(shù)直颅。
nanoseconds? 必須是一個小于1億的非負整數(shù)。
返回值: 成功時返回 TRUE怀樟, 或者在失敗時返回 FALSE功偿。
如果延遲被中斷,一個關聯(lián)數(shù)組會返回往堡,內容為:
seconds - 延遲剩余未執(zhí)行的秒數(shù)
nanoseconds - 延遲剩余未執(zhí)行的納秒數(shù)
例子
01
02// Careful! This won't work as expected if an array is returned
03if(time_nanosleep(0, 500000000)) {
04echo"Slept for half a second.\n";
05}
06
07// This is better:
08if(time_nanosleep(0, 500000000) === true) {
09echo"Slept for half a second.\n";
10}
11
12// And this is the best:
13$nano= time_nanosleep(2, 100000);
14
15if($nano=== true) {
16echo"Slept for 2 seconds, 100 microseconds.\n";
17}elseif($nano=== false) {
18echo"Sleeping failed.\n";
19}elseif(is_array($nano)) {
20$seconds=$nano['seconds'];
21$nanoseconds=$nano['nanoseconds'];
22echo"Interrupted by a signal.\n";
23echo"Time remaining: $seconds seconds, $nanoseconds nanoseconds.";
24}
25?>
time_sleep_until() - 使腳本睡眠到指定的時間為止械荷。
說明
bool time_sleep_until ( float $timestamp )
使腳本睡眠到指定的 timestamp共耍。
參數(shù): timestamp將腳本喚醒的時間戳。
返回值:成功時返回 TRUE吨瞎, 或者在失敗時返回 FALSE痹兜。
錯誤/異常: 如果設定的 timestamp 為過去的時間,腳本將會產生一個 E_WARNING 級別的錯誤颤诀。
例子
1
2//returns false and generates a warning
3var_dump(time_sleep_until(time()-1));
4// may only work on faster computers, will sleep up to 0.2 seconds
5var_dump(time_sleep_until(microtime(true)+0.2));
6
7?>
set_time_limit() - 設置腳本最大執(zhí)行時間
說明
void set_time_limit ( int $seconds )
設置允許腳本運行的時間字旭,單位為秒。如果超過了此設置着绊,腳本返回一個致命的錯誤谐算。默認值為30秒,或者是在php.ini的max_execution_time被定義的值归露,如果此值存在洲脂。
當此函數(shù)被調用時,set_time_limit()會從零開始重新啟動超時計數(shù)器剧包。換句話說恐锦,如果超時默認是30秒,在腳本運行了了25秒時調用 set_time_limit(20)疆液,那么一铅,腳本在超時之前可運行總時間為45秒。
參數(shù): seconds 最大的執(zhí)行時間堕油,單位為秒潘飘。如果設置為0(零),沒有時間方面的限制掉缺。
返回值: 沒有返回值卜录。
注釋 :
Warning
當php運行于安全模式時,此功能不能生效眶明。除了關閉安全模式或改變php.ini中的時間限制艰毒,沒有別的辦法。