為PHP函式執行設定超時

2021-09-06 11:46:24 字數 403 閱讀 9438

如何防止乙個函式執行時間過長呢?在php裡可以用pcntl時鐘訊號+異常來實現。

**如下:

declare(ticks = 1);

function a()

function b()

function c()

function sig()

trycatch(exception $e)

b();

a();

b();

原理是在函式執行前先設定乙個時鐘訊號,如果函式的執行超過規定時間,訊號會被觸發,訊號處理函式會丟擲乙個異常,被外層**捕獲。

這樣就跳出了原來函式的執行,接著執行下面的**。如果函式在規定的時間內,時鐘訊號不會觸發,在函式結束後清除時鐘訊號,不會有異常丟擲。

php int 設定超時,php如何設定超時時間

php設定超時的解決方法 1 初始設定指令碼執行時間 開啟php.ini檔案,找到 max execution time 30 修改為 max execution time 600 如果你沒有伺服器修改許可權,可通過內建php指令碼的方法設定超時時間,在需要首席執行官時間操作的php檔案中新增以下 ...

設定PHP指令碼執行超時時間的方法

設定php指令碼執行超時的時間有下面這樣一些方法 php.ini 中限定程式的最長執行時間是 30 秒,這是由 php.ini 配置檔案中的 max execution time 變數指定,倘若你有乙個需要頗多時間才能完成的程式 會由於超時而執行失敗,例如要傳送很多電子郵件給大量收件者,或者要進行繁...

socket connect 函式設定超時

眾所周知,在進行網路程式設計的時候,如果使用系統connect函式,無法設定超時,而在連線乙個不存在的主機時,將會一直阻塞。其實在呼叫connect函式時,將控制代碼設定為非阻塞,然後呼叫select函式,可以達到設定超時的效果。cpp view plain copy print?bool conn...