自定义504页面无效

时间:2014-01-15 15:56:50

标签: php apache .htaccess timeout http-status-code-504

在我开发的软件中,用户可以发送PHP用于将行插入数据库的XLS文件。通常一个文件有1500行,数据库中有7000行。这个过程通常需要5到7分钟才能完成。

过了一段时间后,我收到了504网关超时错误。我做了一项研究,发现解决方案是增加最大执行时间。我试过了,没有,就像配置被忽略了一样。

max_execution_time = 600
max_input_time = 600

然后我尝试使用函数ignore_user_abortset_time_limit直接在PHP上设置它。再次,它没有用。

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。

更新

我使用dreamhost共享主机。

1 个答案:

答案 0 :(得分:0)

根据文档,它不应该是一个问题http://wiki.dreamhost.com/Creating_custom_error_pages

我认为你需要使用像

这样的本地路径
ErrorDocument 504 /cgi-bin/error.php?code=504