Laravel выдает ошибку 502 при отправке формы ошибки проверки - PullRequest
0 голосов
/ 13 марта 2020

У меня есть форма обновления, которая обновляет мою базу данных с учетом введенных данных. Я использую Laravel validation , чтобы сделать валидатор обновлений, чтобы проверить, является ли данное электронное письмо уникальным или нет (если это не так, я должен вызвать ошибку валидации и перезагрузить страницу обновления).

Это мой валидатор:

public function rules()
    {
        $contact_guid = $this->route('contact_guid');
        return  [
            'contact_email' => [
                Rule::unique('contact')->ignore($contact_guid, 'contact_guid'),
            ],
        ];
    }

    public function messages()
    {
        return [
            'contact_email.required' => 'E-mail is required.',
            'contact_email.unique'  => 'This e-mail is already in use.',
        ];
    }

Проблема заключается в том, что некоторые контакты выдают 502 error с определенными уникальными электронными письмами, а другие контакты получают ошибку 502 на разных уникальных электронных письмах. Я заметил, что как только я удаляю 'contact_email.unique' => 'This e-mail is already in use.',, мое приложение работает нормально, и оно не дает мне 502 error.

Редактировать:

Я обнаружил, что как долго сообщение в 'contact_email.unique' => 'This e-mail is already in use.', он чаще дает мне 502 плохих шлюза.

1 Ответ

1 голос
/ 13 марта 2020

HTTP 502: неверный ответ шлюза - это не тот ответ, который по умолчанию выводился бы Laravel, но выводился бы вашим сервером:

Протокол передачи гипертекста (HTTP) 502 Bad Код ответа об ошибке сервера шлюза указывает, что сервер, выступая в качестве шлюза или прокси-сервера, получил неверный ответ от вышестоящего сервера.

Вполне возможно, что неверный ответ, однако, является результатом вашего приложения. и поэтому имеет смысл попытаться отладить его.

Потенциально существует более широкое число причин для такой проблемы, вот краткий обзор их и возможных исправлений:

  • Убедитесь, что вы включили отладку в файле Laravel .env и очистили кеш.
  • Право доступа к файлам установлено неправильно. Должно быть (в зависимости от сервера, но общее практическое правило) 644 для файлов и 755 для папок / каталогов.
  • Ошибка в одном из PHP файлов - Попробуйте включить параметр display_errors в вашем PHP configuration.
  • PHP Ограничения памяти и процесса - Попробуйте увеличить memory_limit в вашей PHP конфигурации.
  • Другие PHP Ограничения процесса - Свяжитесь с администратором сервера / хостинг-провайдером
  • Поврежден PHP Модули, расширения, сборки - Обратитесь к администратору сервера / хостинг-провайдеру
  • Непонятно - Если пункты 1-6 не приводят к исправлению, как правило, лучшим вариантом действий является проверить Apache Журналы ошибок.

TL; DR: Вам необходимо, чтобы ваш сетевой / системный администратор определил причину HTTP 502. Apache Журналы ошибок, скорее всего, дадут вам очень хорошие показания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...