PHP 時間限制函數在遠端伺服器上無效
使用set_time_limit(50) 或ini_set('max_execution_time', 50) 設定時間限制時在本機,檢索max_execution_time 會產生所需的值。然而,在不同的伺服器上,它會恢復為預設值(30 秒),導致這些功能無效。
說明
問題的出現是由於 安全模式遠端伺服器上的設定。在 PHP 的安全模式下,無法使用 ini_set() 修改 max_execution_time 設定。此限制也適用於 set_time_limit()。
解決方法
要解決這個問題,有兩個選項:
安全模式限制的原因
PHP 中引入了安全模式,透過限制腳本可以執行的某些操作來增強安全性。防止腳本無限期運行就是這些安全措施之一。
注意: PHP 手冊明確指出 set_time_limit() 和 ini_set('max_execution_time', 50) 在安全時沒有任何作用模式已啟用。唯一的解決方法是停用安全模式或調整 php.ini 檔案中的時間限制。
以上是為什麼「set_time_limit」和「ini_set(\'max_execution_time\')」在啟用了安全模式的遠端伺服器上無效?的詳細內容。更多資訊請關注PHP中文網其他相關文章!