Řešení 1:
Zkontrolovali jste svůj error_log soubor pro php-fpm ? Umístění tohoto souboru by mělo být uvedeno ve vašem php-fpm.conf (v konfiguraci Ubuntu je /etc/php5/fpm/php-fpm.conf, soubor protokolu je /var/log/php5-fpm/log), zkontrolujte také úroveň_logu , pokud je zakázáno (;log_level), povolte jej a změňte jej na ladicí . Poté zkuste restartovat službu php5-fpm a zkontrolujte své protokoly.
Můžete také zkusit spustit php5-fpm v režimu popředí:
# php5-fpm -y /etc/php5/fpm/php-fpm.conf
Možná vám to ukáže něco zajímavého.
Řešení 2:
Standardní postup odstraňování problémů:
- Zkontrolujte soubor protokolu. Pokud nevíte, kde to je, zkontrolujte konfiguraci nebo pro jistotu najděte pid pomocí
ps aux | grep php-fpm
a poté proveďtelsof -p $PID | grep log
(vynechejte grep, pokud nic neukazuje). - 99 % souborů protokolu času vám ukáže příčinu. Pokud ne, vyhledejte v konfiguraci úroveň protokolování, zvyšte ji a zkuste to znovu.
- Možná se okamžitě ukončí a nemůžete získat PID, aby proces zkontroloval. Můžete také zkusit spustit proces v popředí, ale to znamená zjistit, které přepínače příkazového řádku musíte použít. Obvykle jej stačí nasměrovat na vaši stávající konfiguraci.
- Pokud soubor protokolu ani stdout/stderr (výstup na popředí) neobsahuje žádné vodítka, je čas na strace... ale to je jiný příspěvek.
Řešení 3:
Tato poznámka mi pomohla:https://bugs.launchpad.net/nginx/+bug/1366651
V mém případě se při aktualizaci na nginx> 1.6.1 parametry předávané do php5-fpm nacházejí ve fastcgi.conf místo ve fastcgi_params, což má za následek PHP, které vždy vrátí 200 (ok), ale nikdy žádný obsah, protože SCRIPT_FILENAME již není nastaven.
Doufám, že to pomůže i někomu dalšímu.
Řešení 4:
Pro mě byl problém můj php-fpm.conf
soubor nepoužíval výchozí konfigurační název souboru – jmenoval se /etc/php5/fpm/php5-fpm.conf
( php5-fpm.conf
vs php-fpm.conf
)
php5-fpm -t
[26-Jul-2014 22:39:16] ERROR: failed to open configuration file '/etc/php5/fpm/php-fpm.conf': No such file or directory (2)
[26-Jul-2014 22:39:16] ERROR: failed to load configuration file '/etc/php5/fpm/php-fpm.conf'
[26-Jul-2014 22:39:16] ERROR: FPM initialization failed
Přejmenoval jsem soubor conf na php-fpm.conf
a tím byl problém vyřešen.
sudo mv /etc/php5/fpm/php5-fpm.conf /etc/php5/fpm/php-fpm.conf
sudo service php5-fpm restart
* Restarting PHP5 FastCGI Process Manager php5-fpm [ OK ]