NaN
@NaN

Php5-fpm + nginx + Xdebug. 502 bad gateway?

1) php работает через socket. Переключение на tcp не помогает.

2) fast_cgi_read_timeout выставлен в 6000 request_terminate_timeout тоже, и все что связано с max_execution. Собственно, запускаю дебагер под Netbeans. Пока всё происходит внутри одного скрипта — норм. Как только натыкается на breakpoint в каком нить подключаемом файле, или F8 (вход) в require или include тудаже — сразу 502 bad gateway.

Куда еще смотреть, что делать. Ничего кроме аналогичного поста на хабре, где автор нашел решение (которое мне не помогло) нагуглить не удается(



UPD: Решено: не ставьте ребята последнюю версию xdebug притянутую из dotdeb. 2.1.3 Видимо еще кривая. Установили 2.1.0 — все проблемы испарились.
  • Вопрос задан
  • 11207 просмотров
Решения вопроса 1
NaN
@NaN Автор вопроса
более ранняя версия нас спасла. вместо 2.1.3 — 2.1.0
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 8
CrazySquirrel
@CrazySquirrel
Дайте запись из nginx log. Возможно такаяже проблема, как при использовании FirePHP shikii.net/blog/firephp-on-nginx-502-bad-gateway/
Ответ написан
NaN
@NaN Автор вопроса
к сожалению, не помогло(((

fastcgi_buffer_size 16k;
fastcgi_buffers 4 16k;

ничего не дало.
Ответ написан
Комментировать
NaN
@NaN Автор вопроса
2012/03/02 17:55:41 [error] 4523#0: *1 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 192.168.1.10, server:example.ru, request: «GET /index.php?XDEBUG_SESSION_START=netbeans-xdebug HTTP/1.1», upstream: «fastcgi://unix:/tmp/php-fpm.sock:», host: «www.example.ru»
2012/03/02 17:59:52 [error] 4594#0: *1 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 192.168.1.10, server: example.ru, request: «GET /index.php?XDEBUG_SESSION_START=netbeans-xdebug HTTP/1.1», upstream: «fastcgi://unix:/tmp/php-fpm.sock:», host: «www.example.ru»
Ответ написан
@Ualde
fastcgi_buffers 8 64k;
fastcgi_buffer_size 128k;
Ответ написан
CrazySquirrel
@CrazySquirrel
По умолчанию php-fpm слушает тот же порт что и xdebug. Проверьте /etc/php5/fpm/pool.d
Ответ написан
Комментировать
NaN
@NaN Автор вопроса
По умолчанию php-fpm слушает тот же порт что и xdebug
у меня слушает сокет. конфликтов на порт нету.
xdedug выставил вообще в отличный порт — 9900 вместо 9000.
пробовал и так и так.
1) php работает через socket. Переключение на tcp не помогает.с

попробую конечно поиграться с размерами и количеством буферов, но что-то боюсь тут совсем не в этом дело.
расширения php пробовал отключать. тоже толку 0.
интересная фигня ваще… если внутри одного скрипта дебажить — норм. если бегать по инклюдам/брэкпойнтам — начинается эта свистопляска с сокет еррор и 502
Ответ написан
Комментировать
NaN
@NaN Автор вопроса
во время ошибки вот такие вещи происходят:
php5-fpm.log:
WARNING: [pool www] child 14720 exited on signal 11
syslog
devsrv01 kernel: [365144.212259] php5-fpm[14720]: segfault at 42 ip 00000000006d0bd8 sp 00007fff32075080 error 4 in php5-fpm[400000+79e000]
/nginx/error.log
[error] 11572#0: *2063 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: XXX.XXX.XXX.XXX, server: example.com, request: «GET /index.php?XDEBUG_SESSION_START=NETBEANS-XDEBUG HTTP/1.1», upstream: «fastcgi://unix:/var/run/php-fpm.sock:», host: «www.example.com»
Ответ написан
Комментировать
NaN
@NaN Автор вопроса
exception в журнале IDE
java.net.SocketException: Software caused connection abort: socket write error
java.net.SocketOutputStream
socketWrite0
${java.home}lib/rt.jar

java.net.SocketOutputStream
socketWrite
${java.home}lib/rt.jar

java.net.SocketOutputStream
write
${java.home}lib/rt.jar

org.netbeans.modules.php.dbgp.packets.DbgpCommand
send
90
${netBeansDir}modules/org-netbeans-modules-php-dbgp.jar

org.netbeans.modules.php.dbgp.DebugSession
sendCommands
211
${netBeansDir}modules/org-netbeans-modules-php-dbgp.jar

org.netbeans.modules.php.dbgp.DebugSession
run
143
${netBeansDir}modules/org-netbeans-modules-php-dbgp.jar

java.util.concurrent.Executors$RunnableAdapter
call
${java.home}lib/rt.jar

java.util.concurrent.FutureTask$Sync
innerRun
${java.home}lib/rt.jar

java.util.concurrent.FutureTask
run
${java.home}lib/rt.jar

java.util.concurrent.ThreadPoolExecutor
runWorker
${java.home}lib/rt.jar

java.util.concurrent.ThreadPoolExecutor$Worker
run
${java.home}lib/rt.jar

java.lang.Thread
run
${java.home}lib/rt.jar

Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы