Tôi cần gửi "Lỗi máy chủ nội bộ 500" từ tập lệnh PHP trong các điều kiện nhất định. Tập lệnh được cho là do ứng dụng của bên thứ ba gọi. Tập lệnh chứa một vài die("this happend")câu lệnh mà tôi cần gửi 500 Internal Server Errormã phản hồi thay vì thông thường 200 OK. Tập lệnh của bên thứ ba sẽ gửi lại yêu cầu trong một số điều kiện nhất định, bao gồm cả việc không nhận được 200 OKmã phản hồi.
Phần thứ hai của câu hỏi: Tôi cần thiết lập tập lệnh của mình như sau:
<?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" );
?>
Tôi chỉ cần gửi 200tiêu đề sau khi dòng cuối cùng đã được thực thi.
Biên tập
Một câu hỏi phụ: tôi có thể gửi 500 tiêu đề lạ như sau:
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
Các lỗi như vậy có được ghi lại bởi máy chủ web không?