萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 網路程式設計 >> PHP 程式設計

解決 PHP mysql_query 執行逾時:調整 max_execution_time

錯誤現象

執行大量資料查詢或複雜 SQL 時,PHP 拋出致命錯誤:Maximum execution time of 30 seconds exceeded (預設 30 秒,舊版為 300 秒)。

解決方法

修改 php.ini 中的 max_execution_time 參數,單位為秒。

; 找到原行 (預設可能被註解)
;max_execution_time = 300

; 修改為較大值,例如 3000 秒 (50 分鐘)
max_execution_time = 3000

生效步驟

  1. 編輯 php.ini (確認是 CLI 或 FPM 正確載入的那份)。
  2. 重啟 Web 伺服器 (Apache/Nginx) 或 PHP-FPM 服務。
  3. 用 phpinfo() 驗證 max_execution_time 已更新。

替代方案 (不改 php.ini)

  • 單一腳本臨時調整:ini_set('max_execution_time', 3000); (僅限非安全模式)。
  • 長時間任務改用 CLI 模式執行:php script.php (CLI 預設無時間限制,max_execution_time=0)。
  • 將大查詢拆分、加索引、使用游標分批處理,從根本降低執行時間。

注意

單純拉長逾時時間屬於治標不治本,生產環境應優先優化 SQL、加索引、分頁或異步佇列處理。

copyright © 萬盛學電腦網 all rights reserved