首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >500错误时如何获取信息

500错误时如何获取信息
EN

Stack Overflow用户
提问于 2015-09-23 19:42:53
回答 1查看 603关注 0票数 0
代码语言:javascript
复制
<?php

$this->client = new \GuzzleHttp\Client;

try {
    $response = $this->client->request('get', $url);
    $result = json_decode($response->getBody());
    Log::save($result);
} catch (RequestException $e) {
    Log::save($e->getMessage());
}

如果目标页面有内部服务器错误500的情况,我会得到错误信息Client error: 404,实际上目标页面已经显示了错误是什么,如果我使用浏览器打开它,我想保存那些PHP错误信息到日志中,但我不知道如何得到使用Guzzle。

EN

回答 1

Stack Overflow用户

发布于 2015-09-24 00:25:26

有几种不同的方法可以继续:

  1. 如果您正在使用Guzzle 6+,并且您正在使用默认的HandlerStack (创建没有处理程序new \GuzzleHttp\Client()的客户端;默认行为将是请求抛出GuzzleHttp\Exception\ServerException异常。在这种情况下,您所要做的就是将您的请求包装在一个try / catch块中(如上所示)。
  2. 如果您正在手动创建HandlerStack $stack = new \GuzzleHttp\HandlerStack(); $client = new \GuzzleHttp\Client(['handler' => > $stack,]);则\GuzzleHttp\Middleware::httpErrors中间件尚未加载到堆栈中,您将不得不将其捕获到您自己的中间件中,或者通过将callable传递给'on_headers‘请求选项来捕获它。

参考文献:

  1. Guzzle Request Options - http_errors
  2. Guzzle Handlers and Middleware
  3. Guzzle Request Options - on_headers
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32738649

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档