2010-06-09 2 views
5

Благодаря этому форуму, я узнал, что функция заголовка PHP фактически не отправляет заголовок на сервер Apache, а только для клиента.PHP Force Apache error

Что я хочу сделать, так это создать ошибку 500, и пусть Apache отобразит соответствующую страницу. Есть ли способ заставить его?

Заранее благодарен! (и Allez трехцветный!)

+0

Хм, дон Не знаю, возможно ли это. Для чего вы хотите это сделать, и в какой момент вы хотите создать 500? –

+1

И кто эти синие люди, о которых вы говорите? Они страдают от недостатка кислорода? ;) –

+0

Фактически, мы создали некоторые страницы ошибок Apache, и я очищаю обработку ошибок PHP, чтобы иметь уникальную страницу с ошибкой (которая будет Apache) ... Я постараюсь написать плохая директива .htaccess (или как научиться делать что-то неправильно по назначению ...) и о bleus, я думаю, вы узнаете об этом 11 июля;) – Rolf

ответ

3

ли редирект на URL, который вызывает 500.

Например URL-адрес с недопустимой директивой .htaccess.

+0

спасибо, я попробую это право Теперь ! – Rolf

+1

Я пытался поставить в .htaccess в файле RewriteRule^ошибки \ .php $ /force_error_500.php [NC, R = 500] (force_error_500.php не существует) заголовок ('Location: ошибка. PHP '); вызывает только 404 ... Я думаю, я пропустил точку :( – Rolf

+0

Да ... создайте файл INVALID .htaccess. Ваш был действительным: – zaf

4

Там есть способ отправки 500 Ошибка в браузере, но вы должны предоставить страницу самостоятельно:

<?php 
header('HTTP/1.1 500 Internal Server Error'); 
echo <<<ERRORTEXT 
The server encountered an unexpected condition which prevented it 
from fulfilling the request. 
ERRORTEXT; 
// also notify server operator, maybe? 
exit; 
?> 
+0

спасибо за ваш ответ, но мне нужно использовать страницы ошибок Apache ... – Rolf

0

Просто сделайте сломанный CGI скрипт:

// Don't include stdio 
int main() { 
    printf("This won't work.\n"); 
    return 0; 
}