In meiner .env
Datei habe ich die folgende Einstellung für meinen Produktionsserver:Lumen Anforderungsüberprüfung funktioniert nicht
APP_ENV=production
APP_DEBUG=false
In Laravel \ Lumen docs, dass es gesagt, wenn wir das Projekt auf dem Produktionsserver laufen wir APP_DEBUG
setzen sollen B. false
und ändern APP_ENV
von local
zu production
. Wenn ich dies tue, funktioniert die Lumenanforderungsvalidierung nicht mehr. Aber wenn ich APP_DEBUG
zu true
Anforderungsvalidierung funktioniert, wie erwartet. Fehle ich etwas?
P.S. Produktionsserverumgebung PHP-Version ist 7.1.12
UPDATE
Auch habe ich den folgenden Code in App\Exceptions\Handler.php
Methode machen, die ich denke, auch das Verhalten beeinflusst:
if (env('APP_DEBUG')) {
return parent::render($request, $e);
}
$message = 'Внутренняя ошибка на сервере';
$response_code = 500;
if ($e instanceof MethodNotAllowedHttpException) {
$message = 'Запрос не разрешен (неправильный метод запроса)';
$response_code = 405;
}
elseif ($e instanceof NotFoundHttpException) {
$message = 'Указан неверный адрес конечной точки API';
$response_code = 404;
}
elseif ($e instanceof AuthorizationException) {
$message = 'Отказ в доступе (нет прав на доступ)';
$response_code = 403;
}
elseif ($e instanceof FatalThrowableError || $e instanceof \ErrorException)
{
$message = 'Неверный запрос URL-адреса (проверьте поля запроса)';
$response_code = 400;
}
elseif ($e instanceof QueryException) {
$message = 'Нарушение целостности базы данных';
$response_code = 406;
}
return response()->json([
'success' => false,
'errors' => [
[
'id' => 'default',
'message' => $message
]
]
], $response_code);
Wenn ich gesetzt APP_ENV=production
und APP_DEBUG=false
, die Rendermethode exception gibt ihre json-Antworten anstelle der Validierungsantworten zurück.
Sie brauchen Antwort-Bestätigungsnachricht? JSON –