Как отправить 500 Internal Server Error error из PHP-скрипта

Мне нужно отправить «500 Internal Server Error» из сценария PHP при определенных условиях. Предполагается, что сценарий будет вызываться сторонним приложением. Сценарий содержит пару операторов die ("this happend") , для которых мне нужно отправить код ответа 500 Internal Server Error вместо обычного 200 OK ]. Сторонний сценарий повторно отправит запрос при определенных условиях, в том числе при отсутствии кода ответа 200 OK .

Вторая часть вопроса: мне нужно настроить свой сценарий следующим образом:

<?php
    custom_header( "500 Internal Server Error" );

    if ( that_happened ) {
        die( "that happened" )
    }

    if ( something_else_happened ) {
        die( "something else happened" )
    }

    update_database( );

    // the script can also fail on the above line
    // e.g. a mysql error occurred

    remove_header( "500" );
?>

Мне нужно отправить заголовок 200 только после выполнения последней строки.

Редактировать

Дополнительный вопрос: могу ли я отправлять странные заголовки 500, такие как эти:

HTTP/1.1 500 No Record Found
HTTP/1.1 500 Script Generated Error (E_RECORD_NOT_FOUND)
HTTP/1.1 500 Conditions Failed on Line 23

Будут ли такие ошибки регистрироваться веб-сервером?

73
задан pnuts 19 November 2015 в 01:33
поделиться