#laravel #laravel-5 #http-status-code-502
#laravel #laravel-5 #http-status-code-502
Вопрос:
У меня возникла проблема, специфичная для производственного кода. На указанном сервере каждый раз, когда я пытаюсь получить доступ к определенному маршруту, который должен отображать таблицу всех категорий, я получаю ошибку прокси-сервера 502:
Proxy Error
The proxy server received an invalid response from an upstream server.
The proxy server could not handle the request
Reason: Error reading from remote server
Я уже обнаружил некоторые распространенные проблемы в Интернете, однако все они были для пользователей, которые используют nginx. Я использую Laragon. Кроме того, версия Laravel — 5.5.21
Как я уже сказал, проблема заключается только в производственном коде. Этого не происходит, когда я запускаю его локально.
Я также пытался загрузить laravel.файл журнала с сервера, но там ничего не было.
Это функция, которая вызывается по маршруту:
public function index(){
if(empty(request()->query()) amp;amp; session()->exists('categories_filter')){
return redirect(route('categories.index').'?'.http_build_query(session()->pull('categories_filter')));
}
if(!empty(request()->query())){
$this->store_filter();
}
$categories = Category::orderBy($this->sort, $this->order);
if($name_sk = request('name_sk')){
$categories = $categories->where('name_sk', 'like', "%{$name_sk}%");
}
$categories = $categories->paginate(20);
$all_categories = Category::with('children')->get();
$sort = $this->sort;
$order = $this->order;
$new_order = $this->new_order;
return view('admin.categories.index', compact('categories', 'sort', 'order', 'new_order', 'all_categories'));
}
Я, честно говоря, понятия не имею, в чем проблема или в чем ее причина.
Комментарии:
1. 502 означает ошибку восходящего потока, то есть PHP-FPM. Проверьте свои журналы на наличие ошибок.
2. Я проверил файл журнала, и в нем ничего не было:
Ответ №1:
Итак, для людей, у которых есть подобная проблема, вот где была моя проблема:
У меня был рекурсивный блейд-частичный компонент, который вызывал сам себя, и в каждом из них выполнялся SQL-запрос. Мне пришлось полностью переделать эту часть моего представления.
Итак, чтобы объяснить это, причина этой ошибки заключается в том, что я отправлял слишком много запросов в базу данных с запросом одной строки. Это было проблемой, потому что при наличии умеренного объема данных загрузка просто занимала слишком много времени.