First thing first:
Check whether PHP-FPM is running:
$ ps -aux | grep php-fpm --color
$ $ ps -aux | grep php-fpm --color root 1898 0.0 1.8 209928 18992 ? Ss 11:48 0:00 php-fpm: master process (/etc/php/7.0/fpm/php-fpm.conf) www-data 1900 0.0 0.6 210060 6660 ? S 11:48 0:00 php-fpm: pool www www-data 1901 0.0 0.5 210060 6088 ? S 11:48 0:00 php-fpm: pool www
Also, you may notice that running processes may be owned by someone else, like nginx, apache or whatsoever. Make sure user/group setting in php-fpm config file is referring to the same user/group as set in Nginx config file, like www-data/www-data.
Default location of php-fpm 7.0 config file:
/etc/php/7.0/fpm/pool.d/www.conf
Default location of Nginx config file:
/etc/nginx/sites-available/default
Back to the question about why nginx displays a balnk page instead? Let's take a look at the Nginx config file:
... ... server { ... location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_cache microcache; fastcgi_cache_key $scheme$host$request_uri$request_method; fastcgi_cache_valid 200 301 302 30s; fastcgi_cache_use_stale updating error timeout invalid_header http_500; fastcgi_pass_header Set-Cookie; fastcgi_pass_header Cookie; fastcgi_ignore_headers Cache-Control Expires Set-Cookie; fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; fastcgi_index index.php; include fastcgi_params; # Fix for missing params and blank php page display problems fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_script_name; } }
The line "include fastcgi_params" actually refers to the file /etc/nginx/fastcgi_params which has various fastcgi_param variables initialized when calling. Unfortunately, two important variables went missing leading to an unknown blank page when startup.
They are SCRITP_FILENAME and PATH_TRANSLATED. Add them back to Nginx config file and PHP things execute again!
Ref: https://www.narga.net/avoid-nginx-wordpress-blank-page/
No comments:
Post a Comment