Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Проблема следующая, установил Homestead, создал проект на Laravel.
При первом посещении какой-либо страницы проекта вылазит ошибка nginx 502 Bad Gateway. При этом, если обновить страницу, то страница корректно отображается.
Например, я захожу в корень сайта, вылазит ошибка, обновляю страницу, страница загружается. Затем перехожу на страницу /login, все точно так же, сначала ошибка, после обновления загружается. Возвращаюсь в корень сайта и снова ошибка.
Какая причина может быть у данной проблемы?
Не в сети
вот тут в комментарияъ есть рецепты
https://laravel.io/forum/05-14-2014-502 … ion-denied
There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
Не в сети
https://developernote.com/2012/09/how-i … way-error/
each time I install Nginx I add this to /etc/nginx/nginx.conf, at least in versions 1.1.19 on Ubuntu 12.04 and 1.10.3 on Ubuntu 16.04 this works fine:
http { #My custom settings fastcgi_buffers 8 16k; fastcgi_buffer_size 32k; client_max_body_size 24M; client_body_buffer_size 128k; ... }
Without this settings I got ‘502 Bad Gateway error’
There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
Не в сети
Спасибо за помощь, но, к сожалению, вышеописанные советы не помогли.
В логах nginx пишет следующую ошибку:
[error] 3348#3348: *5 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 192.168.10.1, server: lara.loc, request: "GET /contact HTTP/1.1", upstream: "fastcgi://unix:/var/run/php/php7.3-fpm.sock:", host: "lara.loc"
Может это как-то поможет разобраться?
UPD:
В логах PHP следующая ошибка:
[pool www] child 9221 exited on signal 11 (SIGSEGV - core dumped) after 1506.246210 seconds from start
NOTICE: [pool www] child 9731 started
Изменено Danil (23.01.2019 11:03:16)
Не в сети
Ого! То есть PHP крешится. А в консольным пхп нет проблем? Я бы при таких раскладах попробовал обновить/переустановить заново пхп в линуксе.
Но сначала надо исключить версию, что креш происходит из-за кривого скрипта. Если в тех же условиях какой-то сайт на другом движке работает как ни в чем ни бывало, может быть это ваши руки виноваты
Есть сведения, что сегфолт можно вызвать зациклившейся регуляркой, например.
Изменено artoodetoo (23.01.2019 12:17:03)
There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
Не в сети
Возможно какое-то расширение кривое используется.
There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
Не в сети
[pool www] child 9221 exited on signal 11 (SIGSEGV - core dumped) after 1506.246210 seconds from start
А точно та ошибка? "after 1506.246210 seconds" говорит, что скрипт висел 25 минут, прежде чем упал, а вы писали: "При этом, если обновить страницу, то страница корректно отображается." - 25 минут точно ждали?
Есть сведения, что сегфолт можно вызвать зациклившейся регуляркой, например.
Это надо очень-очень постараться. Возможно, в системе несовместимые библиотеки, PHP был собран не на тех, которые есть сейчас. Лучше попробовать все удалить (со всеми зависимостями), обновить apt/yum/что там у вас, и поставить заново из пакетов.
Не в сети
Спасибо за участие в решении проблемы! Проблема все еще актуальна.
Попробую описать подробнее. В Laravel я новичок, только начинаю с ним ознакамливаться. До этого я использовал OpenServer, с ним было все нормально.
Решил попробовать Homestead. Установил его по инструкции.
Загрузил на сервер Laravel-проект с помощь composer create-project --prefer-dist laravel/laravel blog
Сам проект запускается и работает корректно, но стоит мне добавить новый роут, и при переходе по роутам начинаются вышеописанные проблемы.
В администрировании Линукса я, к сожалению не силен, поэтому не могу понять в чем проблема.
Я создал в Homestead свой проект на чистом php, там проблем с редиректами не возникает. Т.е. могу предположить, что проблема все-таки с проектом Laravel.
А точно та ошибка? "after 1506.246210 seconds" говорит, что скрипт висел 25 минут, прежде чем упал, а вы писали: "При этом, если обновить страницу, то страница корректно отображается." - 25 минут точно ждали?
Ошибка точно та. 25 минут не ждал, просто обновляю страницу несколько раз, пока не пропадет ошибка и загрузится страница. Вот сейчас еще раз проверил логи:
[30-Jan-2019 08:29:32] WARNING: [pool www] child 9611 exited on signal 11 (SIGSEGV - core dumped) after 1942.644174 seconds from start
[30-Jan-2019 08:29:32] NOTICE: [pool www] child 10003 started
[30-Jan-2019 08:29:38] WARNING: [pool www] child 6258 exited on signal 11 (SIGSEGV - core dumped) after 25575.176426 seconds from start
[30-Jan-2019 08:29:38] NOTICE: [pool www] child 10005 started
[30-Jan-2019 08:49:38] WARNING: [pool www] child 10005 exited on signal 11 (SIGSEGV - core dumped) after 1199.931586 seconds from start
[30-Jan-2019 08:49:38] NOTICE: [pool www] child 10233 started
[30-Jan-2019 08:52:54] WARNING: [pool www] child 10003 exited on signal 11 (SIGSEGV - core dumped) after 1401.654823 seconds from start
[30-Jan-2019 08:52:54] NOTICE: [pool www] child 10289 started
Действительно, очень странные цифры. Запись появляется после 502 ошибки.
Возможно, в системе несовместимые библиотеки, PHP был собран не на тех, которые есть сейчас.
Но ведь Homestead - это специально подготовленная сборка, продвигаемая разработчиками Laravel. Очень странно, что все это не работает из коробки. Неужели у всех такие проблемы?
Не в сети
Похоже, такая проблема действительно у всех, кто использует последнюю версию Homestead.
Как я понял, проблема заключается в том, что расширение xdebug пока не совместимо с php7.3.
Есть два решения данной проблемы:
- Отключение xdebug для php7.3
- Использование в проекте php7.2 и ниже
Оба варианта проверил, помогло.
В дальнейших обновлениях Homestead данная проблема должна быть устранена.
Всем спасибо за помощь, тему можно закрыть.
Не в сети
Страницы 1