PHP
GuzzleHttp\Exception\ServerException: Server error: Hatası Çözümü
İşte Guzzle tarafından atılabilecek başka bir istisna türü. http_errors request seçeneği true olarak ayarlanmışsa, HTTP 500 hatalarıyla karşılaşıldığında A ServerException
atılır .
$client = new \GuzzleHttp\Client();
$res = $client->request('GET', 'https://httpbin.org/status/503');
Yukarıdaki örnek , hizmet kullanılamadığı için “Sunucu hatası: yanıtla GET https://httpbin.org/status/503
sonuçlanıyor ” istemci istisnasını atar 503 SERVICE UNAVAILABLE
.
Bu tür hataların temel nedeni aşağıdakilerden herhangi biri olabilir:
- İstediğiniz biçim veya hizmet geçici olarak kullanılamıyor.
- Sunucunuz, ulaşmaya çalıştığınız sunucudan hatalar aldı. Bu daha çok “Kötü Ağ Geçidi” hatası olarak bilinir.
- İstediğiniz HTTP protokolü desteklenmiyor.
Aşağıdaki ServerException
örnekte olduğu gibi bir try/catch bloğu kullanılarak da ele alınabilir.
try {
$client->request('GET', 'https://httpbin.org/status/503');
} catch (ServerException $e) {
echo Psr7\str($e->getRequest());
echo Psr7\str($e->getResponse());
}
a öğesini yakalayan önceki örnekte olduğu gibi ClientException
, bu örnek ServerExceptions
$client’ın request yöntemine yapılan çağrıdan kaynaklanan tüm atılanları yakalayacaktır .