在某些情况下,我需要从PHP脚本发送“ 500 Internal Server Error”。该脚本应该由第三方应用程序调用。该脚本包含一些die("this happend")语句,我需要为它们发送500 Internal Server Error响应代码,而不是通常的语句200 OK。第三方脚本将在某些条件下重新发送请求,包括不接收200 OK响应代码。
die("this happend")
500 Internal Server Error
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在执行完最后一行之后发送标头。
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
网络服务器会记录此类错误吗?
header($_SERVER['SERVER_PROTOCOL'] . ' 500 Internal Server Error', true, 500);