0
在我開發的軟件中,用戶可以發送一個PHP用來向數據庫插入行的XLS文件。通常一個文件有1500行,並在數據庫中產生7000行。該過程通常需要5到7分鐘才能完成。自定義504頁面不能正常工作
過了一段時間,我得到一個504網關超時錯誤。我做了一項研究,發現解決方案是增加最大執行時間。我試過了,沒有任何結果,就像配置被忽略了一樣。
max_execution_time = 600
max_input_time = 600
然後我試圖直接在PHP設置此,使用功能ignore_user_abort
和set_time_limit
。再次,它沒有工作。
set_time_limit(0); //never time out
ignore_user_abort(true); //ignore abort
之後,我放棄了,並決定做一個自定義的錯誤頁面,解釋爲什麼發生錯誤,然後重新導向到控制面板。於是,我去我的.htaccess具有以下內容:
# Turn on the RewriteEngine
RewriteEngine On
Options +FollowSymLinks +Includes
Options -Indexes
IndexIgnore */*
# Rules
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule . index.php?/$0 [L]
,並添加以下語句:
ErrorDocument 504 http://domain/erros/timeout/
當錯誤再次出現,而不是重定向到URL,它顯示了默認錯誤頁面。
UPDATE
我使用的Dreamhost共享主機。
同樣的情況,使用本地頁面,外部URL或直接一些文本: – LucasFerreira
嘗試使用ErrorDocument行清理.htaccess,發生了什麼? – Jcchemin
發生同樣的情況 – LucasFerreira