Emad Saif نشر 15 أبريل 2022 أرسل تقرير نشر 15 أبريل 2022 لدي سكريبت PHP وأحتاج إلى إرجاع استجابة برموز استجابة HTTP مختلفة عن 200 مثل 4XX أو 5XX في حالة حدوث خطأ ما كيف يمكنني القيام بهذا الأمر في PHP؟ 1 اقتباس
1 سامح أشرف نشر 15 أبريل 2022 أرسل تقرير نشر 15 أبريل 2022 تستطيع تغير حالة الرد response status من خلال الدالة http_response_code فقط، على النحو التالي: <?php http_response_code(404); // Not Found يمكنك إستخدام هذه الدالة لمعرفة حالة الطلب الحالية: <?php // Get the new response code var_dump(http_response_code()); // int(404) في الإصدارات القديمة من PHP كان يتم إستعمال الدالة header: header("HTTP/1.1 200 OK"); header("HTTP/1.1 404 Not Found"); يُفضل أن تستعمل الدالة http_response_code إن كان إصدار PHP لديك 5.4 أو أعلى. ملاحظة: طبقًا لمعاير W3 يجب أن تكون رسالة الحالة (مثل OK و Not Found) مطابقة للمعاير، يمكنك الإطلاع عليها من خلال هذه الصفحة، أو من خلال القائمة التالية: <?php $http_status_codes = array( 100 => "Continue", 101 => "Switching Protocols", 102 => "Processing", 200 => "OK", 201 => "Created", 202 => "Accepted", 203 => "Non-Authoritative Information", 204 => "No Content", 205 => "Reset Content", 206 => "Partial Content", 207 => "Multi-Status", 300 => "Multiple Choices", 301 => "Moved Permanently", 302 => "Found", 303 => "See Other", 304 => "Not Modified", 305 => "Use Proxy", 306 => "(Unused)", 307 => "Temporary Redirect", 308 => "Permanent Redirect", 400 => "Bad Request", 401 => "Unauthorized", 402 => "Payment Required", 403 => "Forbidden", 404 => "Not Found", 405 => "Method Not Allowed", 406 => "Not Acceptable", 407 => "Proxy Authentication Required", 408 => "Request Timeout", 409 => "Conflict", 410 => "Gone", 411 => "Length Required", 412 => "Precondition Failed", 413 => "Request Entity Too Large", 414 => "Request-URI Too Long", 415 => "Unsupported Media Type", 416 => "Requested Range Not Satisfiable", 417 => "Expectation Failed", 418 => "I'm a teapot", 419 => "Authentication Timeout", 420 => "Enhance Your Calm", 422 => "Unprocessable Entity", 423 => "Locked", 424 => "Failed Dependency", 424 => "Method Failure", 425 => "Unordered Collection", 426 => "Upgrade Required", 428 => "Precondition Required", 429 => "Too Many Requests", 431 => "Request Header Fields Too Large", 444 => "No Response", 449 => "Retry With", 450 => "Blocked by Windows Parental Controls", 451 => "Unavailable For Legal Reasons", 494 => "Request Header Too Large", 495 => "Cert Error", 496 => "No Cert", 497 => "HTTP to HTTPS", 499 => "Client Closed Request", 500 => "Internal Server Error", 501 => "Not Implemented", 502 => "Bad Gateway", 503 => "Service Unavailable", 504 => "Gateway Timeout", 505 => "HTTP Version Not Supported", 506 => "Variant Also Negotiates", 507 => "Insufficient Storage", 508 => "Loop Detected", 509 => "Bandwidth Limit Exceeded", 510 => "Not Extended", 511 => "Network Authentication Required", 598 => "Network read timeout error", 599 => "Network connect timeout error" ); وتستطيع إستخدامها بالشكل التالي: <?php header("HTTP/1.1 404 " . $http_status_codes[404]); 2 اقتباس
السؤال
Emad Saif
لدي سكريبت PHP وأحتاج إلى إرجاع استجابة برموز استجابة HTTP مختلفة عن 200 مثل 4XX أو 5XX في حالة حدوث خطأ ما
كيف يمكنني القيام بهذا الأمر في PHP؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.