我有兩個Laravel應用程序,一個是從另一個調用API。如何從另一個Laravel應用程序捕獲Laravel錯誤?
如果請求應用程序發送無效數據,API調用Laravel的「中止」函數。
但是,我似乎無法趕上請求應用程序端的這個錯誤。下面是一些代碼:
請求的應用程序:
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
if ($method == 'POST') {
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
}
$result = curl_exec($ch);
Log::info($result);
curl_close($ch);
而且我接收應用程序:
if ($result == '') {
$error = 'An unexpected error occurred fetching shipping rates. If this error persists, please contact support.';
abort(400, $error, array('errorText'=>$error));
$error = true;
}
現在,我不能特別修改我的接收應用程序的錯誤處理,因爲該應用程序已正確處理這些錯誤信息。
但是在我的請求應用程序中,Log::info
調用的結果是深度嵌入錯誤代碼的整個HTML。
我似乎無法得到沒有一些自定義字符串解析的消息,但我覺得應該有一些方法知道它失敗並檢索該錯誤消息。
有什麼想法?
嗯,我剛剛試過這個,並記錄statusCode被返回,並出於某種原因,它是0,而不是400. – Rail24
這很奇怪,你使用'curl_close'之前呢? – user3158900
是的,但它也在'curl_exec'之前。傻我。現在有沒有一種通用的方法來查明它是否是一個錯誤,除了將它與400進行比較? – Rail24