Troubleshooting Php-fpm With Apache On CentOS 7

Home » CentOS » Troubleshooting Php-fpm With Apache On CentOS 7
CentOS 3 Comments

Hello,

I am running httpd-2.4.6-45.el7.CentOS.x86_64 with php-fpm-7.0.22-1.el7.remi.x86_64 (on CentOS 7).

My main problem: On this httpd server I have several vhosts running, but apparently I am facing intermittent problems with php-fpm communication on only one of them.

Most of the sites are WordPress or Joomla Applications (running with mysql). Everything seems right: low load, all websites are operating fine, except this one, but only intermittently.

The secondary problem is that I can’t seem to be able to log php errors.

When the problem starts, the users receive “503 Service Unavailable”
pages for many hours/days, and in the error log I see only such errors:

[Tue Aug 08 08:27:31.742640 2017] [proxy_fcgi:debug] [pid 29259]
mod_proxy_fcgi.c(963): [client 180.76.15.139:30619] AH01076: url:
fcgi://127.0.0.1:9000/var/webs/wwwgreekgeo/www/wp/index.php
proxyname: (null) proxyport: 0
[Tue Aug 08 08:27:31.742642 2017] [proxy_fcgi:debug] [pid 29259]
mod_proxy_fcgi.c(970): [client 180.76.15.139:30619] AH01078: serving
URL fcgi://127.0.0.1:9000/var/webs/wwwgreekgeo/www/wp/index.php
[Tue Aug 08 08:27:31.742645 2017] [proxy:debug] [pid 29259]
proxy_util.c(2203): AH00942: FCGI: has acquired connection for (*)
[Tue Aug 08 08:27:31.742661 2017] [proxy:debug] [pid 29259]
proxy_util.c(2256): [client 180.76.15.139:30619] AH00944: connecting
fcgi://127.0.0.1:9000/var/webs/wwwgreekgeo/www/wp/index.php to
127.0.0.1:9000
[Tue Aug 08 08:27:31.742690 2017] [proxy:debug] [pid 29259]
proxy_util.c(2422): [client 180.76.15.139:30619] AH00947: connected
/var/webs/wwwgreekgeo/www/wp/index.php to 127.0.0.1:9000
[Tue Aug 08 08:27:31.742739 2017] [proxy:debug] [pid 29259]
proxy_util.c(2798): AH02824: FCGI: connection established with
127.0.0.1:9000 (*)
[Tue Aug 08 08:27:52.347960 2017] [proxy_fcgi:error] [pid 29259]
(104)Connection reset by peer: [client 180.76.15.139:30619] AH01075:
Error dispatching request to :
[Tue Aug 08 08:27:52.348021 2017] [proxy:debug] [pid 29259]
proxy_util.c(2218): AH00943: FCGI: has released connection for (*)

The problem is NOT resolved by restarting apache and/or php-fpm.

The config of the vhost is as follows:


DocumentRoot “/var/webs/wwwgreekgeo/www”

ServerName www.greekgeo.noa.gr

ServerAdmin webmaster@noa.gr

DirectoryIndex index.php index.html index.htm

php_flag log_errors on
php_flag display_errors off
php_value error_log /var/webs/wwwgreekgeo/log/php_error_log
# php_value error_reporting 32767
# php_value error_reporting 2147483647
php_value error_reporting 6135

Redirect 301 /en.index.html http://www.greekgeo.noa.gr/wp/

RewriteEngine on

RedirectMatch ^/index.html$ /wp/


Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted


Require all denied


SetHandler “proxy:fcgi://127.0.0.1:9000”

ErrorLog /var/webs/wwwgreekgeo/log/error_log
LogFormat “%h %l %u %t \”%r\” %>s %b \”%{Referer}i\”
\”%{User-agent}i\”” combined
CustomLog /var/webs/wwwgreekgeo/log/access_log combined
LogLevel debug

As you can see, I have made efforts to enable php debugging, but I still can’t see any php logging, in any php log:

/var/log/php-fpm/error.log
/var/log/php-fpm/www-error.log
The file: /var/webs/wwwgreekgeo/log/php_error_log remains empty

I’ve also followed these directions to enable WordPress php logging:
https://codex.wordpress.org/WP_DEBUG but I didn’t get any php logging either.

Please advise: How can I enable full php logging and troubleshoot php on this vhost?

Also: What would you advise, if possible, on the particular problem (php processing hanging on this vhost only without any obvious reason)?

I’ve googled and tried many things for several hours, but I can’t find a solution.

Thanks in advance, Nick

3 thoughts on - Troubleshooting Php-fpm With Apache On CentOS 7

  • Thank you for your reply, John.

    Yes, there is write access:

    # ls -l /var/webs/wwwgreekgeo/log/php*
    -rw-rw—- 1 root apache 0 Aug 7 22:58
    /var/webs/wwwgreekgeo/log/php_error_log

    # ls -l /var/webs/wwwgreekgeo/
    total 8
    drwxrwx— 2 wftpuser apache 4096 Aug 8 03:46 log drwxrwx— 10 wftpuser apache 4096 Dec 5 2014 www

    For your reference, I am also including the php-fpm configuration:

    # cat /etc/php-fpm.d/www.conf

    include=/etc/php-fpm.d/*.conf

    [global]
    pid = /run/php-fpm/php-fpm.pid

    error_log = /var/log/php-fpm/error.log
    log_level = debug
    daemonize = yes

    [www]

    user = apache
    group = apache

    listen = 127.0.0.1:9000
    listen.allowed_clients = 127.0.0.1

    pm = dynamic
    pm.max_children = 50
    pm.start_servers = 2
    pm.min_spare_servers = 2
    pm.max_spare_servers = 4
    pm.process_idle_timeout = 10s;
    pm.max_requests = 500
    pm.status_path = /fpm-status

    slowlog = /var/log/php-fpm/www-slow.log
    request_slowlog_timeout = 5s
    request_terminate_timeout = 20s

    catch_workers_output = yes

    security.limit_extensions = .php .php3 .php4 .php5 .php7 .htm .html

    php_admin_value[error_log] = /var/log/php-fpm/www-error.log
    php_admin_flag[log_errors] = on
    php_value[session.save_handler] = files
    php_value[session.save_path] = /var/lib/php/session
    php_value[soap.wsdl_cache_dir] = /var/lib/php/wsdlcache

    php_admin_value[post_max_size] = 40M
    php_admin_value[short_open_tag] = On

    php_value[date.timezone] = “Europe/Athens”

    Nick

  • I now browsed today’s php-fpm log file (/var/log/php-fpm/www-error.log –
    which is rotated daily) and I found two PHP records about this website, with the following content:

    ———————————————————————————————-

    [08-Aug-2017 05:11:45 Europe/Athens] PHP Fatal error: Uncaught Error:
    Call to undefined function get_header() in
    /var/webs/wwwgreekgeo/www/wp/wp-content/themes/nirvana/404.php:10
    Stack trace:
    #0 {main}
    thrown in
    /var/webs/wwwgreekgeo/www/wp/wp-content/themes/nirvana/404.php on line 10
    [08-Aug-2017 05:11:45 Europe/Athens] PHP Fatal error: Uncaught Error:
    Call to undefined function get_header() in
    /var/webs/wwwgreekgeo/www/wp/wp-content/themes/nirvana/404.php:10
    Stack trace:
    #0 {main}
    thrown in
    /var/webs/wwwgreekgeo/www/wp/wp-content/themes/nirvana/404.php on line 10

    ——————————————————————————————————————————————————————————————–

    It appears as a single entry recorded twice (for some unknown reason).

    So, even this one (double) entry means that THERE IS (at least some) PHP
    logging about this website!

    But there are many questions:

    – Why there is only one error entry about this website (in the last two and a half days)?
    – Why is it double?
    – Why there is nothing else (PHP-related) logged about this website?
    – Why no other debugging info is being logged?
    – Could php-fpm somehow be “blacklisting” the website PHP application
    (WordPress) due to this (and possible other) errors?

    Any ideas?

    Thanks, Nick