我正在尝试使用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)
答案 0 :(得分:0)
问题是因为Lumen和Laravel正在使用相同的机器并共享相同的环境,因此当我调用环境变量时它们会被覆盖。
答案 1 :(得分:0)
使用新端口运行php服务器
例如:-
对于Laravel:
php -S localhost:8000 -t public
流明:
php -S localhost:8001 -t public
对我有用。使用此方法,而不要设置虚拟主机。