GNU/Linux >> Znalost Linux >  >> Linux

Jak mohu zjistit, proč se můj php5-fpm nepodařilo spustit?

Ř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ďte lsof -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 ]

Linux
  1. Jak najít soubor v Linuxu

  2. Jak zjistím, který proces má zámek na souboru v Linuxu?

  3. Jak najdu všechny odlišné přípony souborů v hierarchii složek?

  1. Jak zjistit konce řádků v textovém souboru?

  2. Jak mohu vytvořit soubor v každé složce?

  3. Jak zjistit, které verze balíčku mohu nainstalovat na APT

  1. Jak mohu najít nejstarší soubor ve stromu adresářů

  2. Jak mohu zjistit, jak dlouho trvalo provedení mé práce ve slumu?

  3. Jak mohu zjistit, zda má můj server IPMI nějakého druhu?