Как отключить ошибки кода состояния HTTP по умолчанию в Zend Server? - PullRequest
2 голосов
/ 17 марта 2010

Каждый раз, когда я возвращаю какой-либо код состояния в своем коде PHP, Zend Server выдает мне следующую ошибку, добавленную внизу моего сайта (с сообщением о возвращенном мной HTTP-коде). Так, например, если я возвращаю 401, это дает мне еще одну ошибку 401, добавленную к моей странице 401:

alt text

Есть ли способ его выключить? Я использую Zend Server Community Edition 5.0 с PHP 5.2 .

EDIT:

Кажется, это обработка ошибок Apache по умолчанию. Есть ли способ отключить его? Желательно без собственных страниц с ошибками.

ДОПОЛНИТЕЛЬНОЕ РЕДАКТИРОВАНИЕ:

Я попытался отредактировать мой .htaccess с помощью директив ErrorDocument. Это все еще дает мне мою страницу ошибки (пустая страница) + ошибка Apache (как на скриншоте выше).

Этого не происходит с ZendServer 4, установленным на сервере. Я использую ZendServer 5 на локальном хосте, хотя. Возможно ли быть какой-то ошибкой или неправильной конфигурацией со стороны Zend?

ПОВЕДЕНИЕ:

(во всех тестовых случаях я возвращаю 401)

Когда я использую конфигурацию ZendServer по умолчанию + директивы ErrorDocument в .htaccess, я получаю свою собственную страницу ошибок + ниже добавлена ​​страница ошибок Apache.

Когда я использую конфигурацию ZendServer по умолчанию + отключаю свои собственные директивы ErrorDocument, я получаю только страницу ошибки Apache.

Когда я изменяю страницы ошибок Apache на пустые файлы + использую свои собственные директивы ErrorDocument, я получаю желаемое поведение, однако ошибки 404 по-прежнему добавляют ошибки Apache по умолчанию ниже моих собственных.

Ответы [ 2 ]

0 голосов
/ 02 апреля 2010

Не думаю, что вы обязательно захотите «отключить» эту ошибку. Что вам нужно сделать, это выяснить, о какой ошибке сообщается (просмотрите файл журнала), и тогда вы, вероятно, обнаружите проблему с правами доступа или скрипт 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

0 голосов
/ 28 марта 2010

Как вы можете видеть на странице документации 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

Хотя это необходимо для каждого кода ошибки, который вы хотите «отключить».

Вы можете внести эти изменения в файл conf сервера httpd или в файл .htaccess или VHost (хотя я не знаю, где находятся файлы conf в Zend Server).

...