laravel на живом сервере - почему проверка выдает внутреннюю ошибку сервера, когда передается большое количество данных? - PullRequest
1 голос
/ 28 июня 2019

Я сталкиваюсь со странной проблемой с моим приложением laravel 5.8 только на реальном сервере, когда мы отправляем большое количество символов (около 5000) в форме, которую мы получаем

internal server error

Я понимаю, что это происходит в части проверки, если я удаляю ее (и вводю много данных), она отлично работает и хорошо вставляется в базу данных, вот мой код контроллера:

        public function createAuthor(Request $request)
            {


                request()->validate(
                    [
                        'name' => ['required', 'min:3'],
                        'email' => ['required', 'email', 'unique:users,email'],
                        'password' => ['required', 'confirmed', 'min:8'],
                        'password_confirmation' => ['required'],
                        'acepto' => ['required'],
                        'biography' => ['max:500'],
                        'state_id'  =>  ['required'],
                        "country" => "required_if:state_id,==,33",
                        'image' => ['mimes:jpeg,png,jpg', 'max:500'],
                    ],
//rest of code inserting data to database....

В проверке, похоже, нет синтаксической ошибки.

Если во входные данные формы вставлено всего несколько символов, все отлично работает с проверкой.

Кроме того, если мы проверим код после внутренней ошибки, я увижу это:

[Чт 27 июня 21: 31: 57.339455 2019] [http: error] [pid 2633339:tid 140420960212736] [клиент 10.80.0.107:62547: имя заголовка ответа истекает = пт, 28-июн-2019 06 'содержит недопустимые символы, запрос на прерывание, реферер:

также может быть еще один простой примерпростой код:

    public function store(Request $request)
        {

            $request->validate(
                [
                    'post_title' => ['required', 'min:3'],
                    ]);

    }

Мои пункты формык этой функции хранилища и просто с этим достаточно, чтобы начать получать внутренние ошибки сервера, только когда представлено много символов.

Также я увеличил memory_limit, post_max_size и upload_max_filesize до 1G, иничего такого.

Есть идеи, как это решить?спасибо.

1 Ответ

1 голос
/ 28 июня 2019

проверить так:

$rules = ['name' =>'required', 'min:3',
                    'email' => 'required', 'email', 'unique:users,email',
                    'password' => 'required', 'confirmed', 'min:8',
                    'password_confirmation' => 'required',
                    'acepto' => 'required',
                    'biography' => 'max:500',
                    'state_id'  =>  'required',
                    "country" => 'required_if:state_id,==,33',
                    'image' => 'mimes:jpeg,png,jpg', 'max:500'];
        $validator = Validator::make($request->all(), $rules);
        if (!$validator->fails()) {
         }
     else{
   //validation error message
   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...