Problem v komunikacii medzi apache a fastcgi (php-fpm)

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Neděle Srpen 4 10:15:06 CEST 2013


On Tue, 30 Jul 2013, Martin Tirsel wrote:

> Je to nejaky Wordpress web, do dnes ok. Teraz dostavam z apache Internal 
> server error, v logoch apache: [...]
> Avsak v PHP-FPM logu je k tomu takyto zaznam: [...]
> To znamena, ze stranka bola vygenerovana korektne (kod 200, odpoved 
> prakticky ihned po requeste). Ale apache sa tvari, akoby tu odpoved 
> nedostal a caka 30 sekund, nasledne vyhodi timeout.

Myslím, že nejjednodušší bude zkusit strace na příslušný FastCGI proces a 
podívat se, zda z něj ta data skutečně odejdou a zda jsou řádně ukončena 
(a zda v nich není nějaká podivnost).

Pokud to vypadá, že je chyba na straně přijímače, tak lze ještě zkusit 
strace na Apache, ale to je trochu adrenalin, jelikož se musí chytit 
správný proces (nebo se musí trasovat všechny procesy najednou, což při 
větším provozu generuje hodně balastu).

Zdá se, že mod_fastcgi nelze v přirozeném stavu přimět k nějakým ladícím
výpisům, takže v případě, že bych se dostal až sem a na nic nepřišel, by
další krok asi spočíval v tom, že bych provedl nějakou instrumentaci toho
modulu, abych viděl, kde sejde z pravé cesty (podle nálady buď primitivně
ručním přidáním diagnostických výpisů do kódu nebo sofistikovaně např.
přes nějaké DynamoRIO nebo podobnou věc). Ale to už by asi bylo vhodné 
nezkoušet na provozním systému, ale na nějakém jeho klonu.

> Co je zaujimave, ze ak ten wordpress odstrihnem pred </body> tagom 
> (<?php die(); ?>), tak sa stranka nacita a je to ok.

A co když je die() až za </body>?

A mimochodem: co když vyrobíte v tom virtuálním serveru jednoduchý 
testovací skript, který nemá s tím Wordpressem vůbec nic společného?

-- 
Pavel Kankovsky aka Peak                          / Jeremiah 9:21        \
"For death is come up into our MS Windows(tm)..." \ 21st century edition /




Další informace o konferenci Linux