2

每次我在我的 PHP 代码中返回一些状态代码时,Zend Server 都会在我的网站底部附加以下错误(带有我返回的 HTTP 代码的消息)。例如,如果我返回 401,它会给我附加到我的 401 页面的另一个 401 错误:

替代文字

有没有办法关掉它?我将Zend Server Community Edition 5.0 与 PHP 5.2 一起使用

编辑:

这似乎是默认的 Apache 错误处理。有没有办法禁用它?最好没有我自己的错误页面。

附加编辑:

我尝试使用 ErrorDocument 指令编辑我的 .htaccess。它仍然给了我我的错误页面(空白页面)+ Apache 错误(如上面的屏幕截图)。

我在服务器上拥有的 ZendServer 4 不会发生这种情况。我在本地主机上使用 ZendServer 5。Zend 方面是否可能存在某种错误或配置错误?

行为:

(在所有测试用例中,我返回 401)

当我在 .htaccess 中使用默认 ZendServer 配置 + ErrorDocument 指令时,我得到了我自己的错误页面 + Apache 错误页面附加在它下面。

当我使用默认 ZendServer 配置 + 禁用我自己的 ErrorDocument 指令时,我只得到 Apache 错误页面。

当我将 Apache 错误页面更改为空白文件 + 使用我自己的 ErrorDocument 指令时,我得到了所需的行为,但是错误 404 仍然会在我自己的下面附加默认的 Apache 错误。

4

2 回答 2

0

正如您在 Apache httpd文档页面上看到的,您无法禁用它。

如果您只想要没有输出,您有两种选择:

# you *HAVE TO* to put at least one character (here it's a space)
ErrorDocument <errorcode> `' '` 

# if you really want to have 0 character, use a blank file
ErrorDocument <errorcode> /var/www/blank

尽管对于要“禁用”的每个错误代码,您都必须这样做。

您可以在 httpd 服务器的 conf 文件或 .htaccess 文件或 VHost 中进行这些更改(尽管我不知道 Zend Server 中的 conf 文件在哪里)。

于 2010-03-28T12:46:45.087 回答
0

我认为您不一定要“禁用”该错误。您需要做的是找出报告的错误(通过日志文件),然后您可能会发现权限问题或 PHP 脚本实际上失败并转储其核心。

要覆盖 apache 中的默认错误页面,您可以将以下行放在 .htaccess 文件或 httpd.conf 配置中。

ErrorDocument 401 /path/to/the/new/error/page.html

这适用于您要覆盖的所有错误页面。因此,只需将这些错误的状态代码更改为 503..等等。

Apache 文档中的更多信息:http ://httpd.apache.org/docs/1.3/mod/core.html#errordocument

于 2010-04-01T20:16:36.820 回答