Laravel EC2 上的护照 500 内部服务器错误
Laravel passport 500 internal server error on EC2
我正在构建一个应用程序,使用 Angular 2(不称为 4)作为前端,Laravel 5.4 作为 API 后端。我正在使用 Laravel 的护照密码授予功能来验证用户对 API 的访问权限。
前端没有直接访问 oauth 路由。我的自定义身份验证控制器正在与 oauth/token 通信以获取授权值。
此设置在我的本地环境中运行良好,但在 AWS EC2 中它抛出 500 内部服务器错误。
我认为这可能与GuzzleHttp\Client有关,但事实并非如此。即使我尝试直接从 Postman 访问 oauth/token,它仍然会抛出 500 内部服务器错误。
private function getPasswordGrant($username, $rawPassword) {
$http = new HttpClient();
$url = url('/') . "/oauth/token";
return $http->post($url, [
"form_params" => [
"grant_type" => "password",
"client_id" => config("auth.oauth_password_grant_client_id"),
"client_secret" => config("auth.oauth_password_grant_client_secret_key"),
"username" => $username,
"password" => $rawPassword,
"scope" => "*",
],
]);
}
这是我的自定义 Auth Controller 中的函数,它在用户通过另一种方法(登录和注册)进行身份验证后请求授予密码。
最令人惊讶的是 laravel 或 apache 日志中没有任何记录。
好的,经过大量的努力和调试。原来是apache无法写入storage/logs/laravel.log导致这个问题。在给予存储/文件夹适当的权限后,一切都按预期工作。
我正在构建一个应用程序,使用 Angular 2(不称为 4)作为前端,Laravel 5.4 作为 API 后端。我正在使用 Laravel 的护照密码授予功能来验证用户对 API 的访问权限。
前端没有直接访问 oauth 路由。我的自定义身份验证控制器正在与 oauth/token 通信以获取授权值。
此设置在我的本地环境中运行良好,但在 AWS EC2 中它抛出 500 内部服务器错误。
我认为这可能与GuzzleHttp\Client有关,但事实并非如此。即使我尝试直接从 Postman 访问 oauth/token,它仍然会抛出 500 内部服务器错误。
private function getPasswordGrant($username, $rawPassword) {
$http = new HttpClient();
$url = url('/') . "/oauth/token";
return $http->post($url, [
"form_params" => [
"grant_type" => "password",
"client_id" => config("auth.oauth_password_grant_client_id"),
"client_secret" => config("auth.oauth_password_grant_client_secret_key"),
"username" => $username,
"password" => $rawPassword,
"scope" => "*",
],
]);
}
这是我的自定义 Auth Controller 中的函数,它在用户通过另一种方法(登录和注册)进行身份验证后请求授予密码。
最令人惊讶的是 laravel 或 apache 日志中没有任何记录。
好的,经过大量的努力和调试。原来是apache无法写入storage/logs/laravel.log导致这个问题。在给予存储/文件夹适当的权限后,一切都按预期工作。