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:
<VirtualHost *:80> 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/
<Directory "/var/webs/wwwgreekgeo/www"> Options -Indexes +FollowSymLinks AllowOverride All Require all granted </Directory>
<Files ~ "^.ht"> Require all denied </Files>
<FilesMatch .php$> SetHandler "proxy:fcgi://127.0.0.1:9000" </FilesMatch>
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
</VirtualHost>
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
On 8/7/2017 10:52 PM, Nikolaos Milas wrote:
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
does the user apache is running as have write access to that folder ?
On 8/8/2017 8:57 πμ, John R Pierce wrote:
does the user apache is running as have write access to that folder ?
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
On 8/8/2017 9:16 πμ, Nikolaos Milas wrote:
For your reference, I am also including the php-fpm configuration
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