Ich muss unter bestimmten Bedingungen "500 Internal Server Error" von einem PHP-Skript senden. Das Skript soll von einer Drittanbieter-App aufgerufen werden. Das Skript enthält einige die("this happend")Anweisungen, für die ich 500 Internal Server Erroranstelle des üblichen den Antwortcode senden muss 200 OK. Das Skript eines Drittanbieters sendet die Anforderung unter bestimmten Bedingungen erneut, einschließlich des Nichtempfangs des 200 OKAntwortcodes.
Zweiter Teil der Frage: Ich muss mein Skript folgendermaßen einrichten:
<?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" );
?>
Ich muss den 200Header erst senden, nachdem die letzte Zeile ausgeführt wurde.
Bearbeiten
Eine Nebenfrage: Kann ich seltsame 500 Header wie diese senden:
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
Werden solche Fehler vom Webserver protokolliert?