Guzzle ServerException导致了“500内部服务器错误”响应

时间:2017-11-06 09:25:47

标签: php laravel-5 microservices guzzle lumen

我正在尝试使用Lumen和laravel实现MicroService架构

我使用laravel 5.4作为ApiGetway并使用Lumen 5.4作为microService

这里的事情我在我的laravel项目中使用GuzzleHTTP版本6.3,试图点击microService API,但我得到500内部服务器错误

我在我的localhost中尝试这个

这就是我提出请求的方式:

public function get_posts(){
    try {

       $client = new Client(); //GuzzleHttp\Client
       $res = $client->request('GET', 'http://localhost/micro/posts_micro_service/public/posts');
         if($res->getStatusCode() == "200"){
             echo $res->getBody();
         }else{
             return response()->json(['status',"error"]);
         }
     } catch (ClientException $e) {
            echo Psr7\str($e->getRequest());
            echo Psr7\str($e->getResponse());
    }
}

我收到此错误:

 (1/1) ServerException
Server error: `GET http://localhost/micro/posts_micro_service/public/posts` resulted in a `500 Internal Server Error` response:
<!DOCTYPE html>
<html>
<head>
<meta name="robots" content="noindex,nofollow" />
<style>
(truncated...)
in RequestException.php (line 113)

2 个答案:

答案 0 :(得分:0)

问题是因为Lumen和Laravel正在使用相同的机器并共享相同的环境,因此当我调用环境变量时它们会被覆盖。

答案 1 :(得分:0)

使用新端口运行php服务器
 例如:-

对于Laravel:

php -S localhost:8000 -t public

流明:

php -S localhost:8001 -t public

对我有用。使用此方法,而不要设置虚拟主机。