php超時時間說明

2021-09-08 12:55:38 字數 1843 閱讀 3406

可能出現的場景:

1,curl程序執行了乙個世紀還木結束,curl的時候設定了超時時間 --connect-timeout 1000

2,operation timed out after 1000 milliseconds with 0 bytes received

3,connect() timed out!

連線超時時間用 --connect-timeout 引數來指定,資料傳輸的最大允許時間用 -m 引數來指定,時間是毫秒

例如:curl --connect-timeout 10 -m 20 "http://***"

連線超時的話,出錯提示形如:

curl: (28) connect() timed out!

資料傳輸的最大允許時間超時的話,出錯提示形如:

curl: (28) operation timed out after 2000 milliseconds with 0 bytes received

//連線超時時間 curl_setopt($ch, curlopt_connecttimeout, 1000);

//資料傳輸的最大允許時間 curl_setopt($ch, curlopt_timeout, 1000); // grab url and pass it to the browser curl_exec($ch); // close curl resource, and free up system resources curl_close($ch);

//使用curl_error($ch)檢視錯誤的詳情 var_dump(curl_error($ch)); 

當你的頁面有大量資料時,建議使用set_time_limit()來控制執行時間,配置該頁最久執行時間。

設定乙個程式所允許執行的秒數,如果到達限制的時間,程式將會傳回錯誤,時間是秒單位。

php.ini:它預設的限制時間是30秒,max_execution_time的值定義在結構檔案中,如果將秒數設為0,表示無時間上的限制,修改後重新啟動apache/nginx伺服器

php**:set_time_limit(800);

這個函式指定了當前所在php指令碼的最大執行時間為800秒,實際上最大執行時間=php.ini裡的max_execution_time數值 - 當前指令碼已經執行的時間 + 設定值

假如php.ini裡的max_execution_time=30,當前指令碼已經執行5秒,則:

最大執行時間=30-5+800=825秒。

注意 : 當php是執行在安全模式時,set_time_limit( )將不會有結果,除非是關閉安全模式或是修改結構檔案中的時間限制。

如果我們需要乙個指令碼持續的執行,那麼我們就要通過php長連線的方式,來達到執行目的。通過 set_time_limit 來設定乙個指令碼的執行時間為無限長;然後使用 flush() 和 ob_flush() 來清除伺服器緩衝區,隨時輸出指令碼的返回值。

如下面這段指令碼:

<?phpheader("content-type: text/plain"); set_time_limit(0); $infostring = "hello world". "\n"; while( isset($infostring) )  ?>

當我們執行後,每隔5秒鐘,我們會得到一行 hello world ,如果不按停止按鈕,瀏覽器會不停的一行一行繼續載入。

如果要停止執行只能重啟php-fpm:

檢視php-fpm程序數:

ps aux | grep -c php-fpm

檢視執行記憶體

/usr/bin/php  -i|grep mem

重啟php-fpm

/etc/init.d/php-fpm restart

php指令碼超時時間設定

設定php指令碼執行超時的時間有下面這樣一些方法 php.ini 中預設的最長執行時間是 30 秒,這是由 php.ini 中的 max execution time 變數指定,倘若你有乙個需要頗多時間才能完成的工作,例如要傳送很多電子郵件給大量收件者,或者要進行繁重的資料分析工作,伺服器會在 30...

php指令碼超時時間設定

設定php指令碼執行超時的時間有下面這樣一些方法 php.ini 中預設的最長執行時間是 30 秒,這是由 php.ini 中的 max execution time 變數指定,倘若你有乙個需要頗多時間才能完成的工作,例如要傳送很多電子郵件給大量收件者,或者要進行繁重的資料分析工作,伺服器會在 30...

超時時間 Session

在web.xml裡的配置 單位分鐘 1 23 4 session config 5 session timeout 15 session timeout 6session config 7.89 view code 在配置servlet的時候指定初始化引數決定超時時間 單位秒 1 servlet 2...