Nasıl php sayfa dönüş yapabilirim bir 503 hatası (ya da bir şey olmayan-200)

3 Cevap php

Eski bir geliştirici PHP sunucu-istemci API yazdı ya. Bu sadece çok basit bir şekilde post / yanıt kullanarak xml gibi mesajlar gönderir. Bunun gibi bir sayfa ile bir HTTP 200 cevabı alıyorum: Sorun bir hata (sunucu tarafında geçti geçersiz argümanlar eski) olduğunda bile olduğunu

<h4>Unknown error!</h4>

Biz programlama bizim php kodu tespit zaman bunu yapmak için uygun olduğunu: (503 yani). Kundakçı ben aslında HTTP yanıtı nasıl farklı bir yanıt göndermek 200 olduğunu görebilirsiniz.

3 Cevap

(HTTP sürümü ve ihtiyacınız olan diğer başlıkları ile birlikte) kodu göndermek için PHP'nin header işlevini kullanın. Daha tam bilgi:

When to send HTTP status code?

http://php.net/manual/en/function.header.php

http://en.wikipedia.org/wiki/List_of_HTTP_status_codes

header('HTTP/1.1 503 Service Temporarily Unavailable');
header('Status: 503 Service Temporarily Unavailable');
header('Retry-After: 300');//300 seconds

Bunu başarmak için iyi bir sınıf burada bulunabilir: http://www.krisjordan.com/php-class-for-http-response-status-codes/ - Bu gibi kullanmak (diğer herhangi bir çıkış öncesi):

<?php header(StatusCodes::httpHeaderFor(503)); ?>

Lütfen komut (ya da gerçekten, herhangi bir çıkış, bir tepki olarak gönderilmeden önce) üstüne:

<?php header("HTTP/1.0 404 Not Found"); ya da başka bir HTTP status code.