Як я можу дізнатися, чому не вдалося запустити php5-fpm?


10

Я отримую 504 тайм-аут шлюзу, коли я намагаюся дістатись до свого сервера, невеличка перевірка не знайшла журналів у журналах php5-fpm, але просто для того, щоб переконатися, я намагався перезапустити його. коли я намагаюся його перезапустити:

sudo service php5-fpm restart

я отримую, [fail] але коли я це роблю

sudo service php5-fpm stop
sudo service php5-fpm start

Я не отримую помилок.

як я можу це дослідити, якщо немає журналів? що я можу зробити?

Відповіді:


17

Ви перевірили ваш файл error_log на php-fpm ? Розташування цього файлу має бути оголошено у вашому php-fpm.conf (у конфігурації Ubuntu є /etc/php5/fpm/php-fpm.conf, файл журналу є / var / log / php5-fpm / log), також перевірте свій log_level , якщо він відключений (; log_level), увімкніть його та змініть його на налагодження . Після цього спробуйте перезапустити сервіс php5-fpm та перевірити свої журнали.

Ви також можете спробувати запустити php5-fpm у режимі переднього плану:

# php5-fpm -y /etc/php5/fpm/php-fpm.conf

Можливо, це покаже вам щось цікаве.


1
У моєму випадку ця команда запустила php5-fpm, тоді як service php5-fpm startне. Дякую!
Девід Томас

Девісе, здається, це працює на мене +1! Але .. заклинання дало мені рішення, я знайшов помилку +1! Дякую всім!
Tenaciousd93

Якщо ви запускаєте FPM за допомогою початкового завдання, тоді журнали запуску php-fpm будуть записані на / var / log / upstart /
Ashwin Дата

Для використання php7.0php-fpm7.0 -F -c /etc/php/7.0/fpm/php-fpm.conf
Ядвендар

4

Стандартна процедура усунення несправностей:

  • Перевірте файл журналу. Якщо ви не знаєте, де це перевірте конфігурацію або для того, щоб зрозуміти, чи точно знайти pid ps aux | grep php-fpm, виконайте це lsof -p $PID | grep log(пропустіть греп, якщо він нічого не показує).
  • 99% файлів журналу часу покаже вам причину. Якщо ні, шукайте рівень реєстрації в конфігурації, піднімайте його та повторіть спробу.
  • Можливо, воно припиняється миттєво, і ви не можете змусити PID перевірити процес. Ви також можете спробувати запустити процес на передньому плані, але це означає з’ясувати, які комутатори командного рядка потрібно використовувати. Зазвичай вам потрібно просто вказати його на існуючу конфігурацію.
  • Якщо ні файл журналу, ні stdout / stderr (вихідний план) не містять підказок, настає час страйсу ... але це вже інша публікація.

+1 хороший спосіб знайти файл журналу!
deweydb

3

Ця примітка допомогла мені: https://bugs.launchpad.net/nginx/+bug/1366651

У моєму випадку оновлення до nginx> 1.6.1 параметрів, які передаються до php5-fpm, розміщуються в fastcgi.conf замість fastcgi_params, в результаті чого PHP завжди повертає 200 (нормально), але ніколи не вміст, тому що SCRIPT_FILENAME більше не встановлено.

Я сподіваюся, що це також допомагає комусь іншому.


2

Для мене проблема полягала в тому, що мій php-fpm.confфайл не використовував конфігураційне ім'я файлу за замовчуванням - він був названий /etc/php5/fpm/php5-fpm.conf( php5-fpm.confvs 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

Я перейменував конф-файл у, php-fpm.confі це вирішило проблему.

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 ]

0

У мене виникли проблеми з відсутністю файлів журналів, потім я помітив, що я отримував доступ до URL через HTTPS замість HTTP, і що протокол не був налаштований у Nginx, тому PHP5-FPM не отримував трафік.

Може допомогти комусь.


0

Може статися, що на розширенні Ubuntu dist-upgrade пакет php5-fpm видаляється, оскільки замість php 7 використовується php-fpm. спробуйте виконати це на консолі:

php5-fpm

Якщо його не існує, ви, ймовірно, вже використовуєте php 7, тому встановіть

apt-get install php-fpm

який встановить версію php7

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.