The solution to the problem that nginx cannot run php files: first find "php-fpm.conf" and configure the "listen" item; then change the corresponding configuration in nginx.
The operating environment of this article: linux5.9.8 system, PHP7.1 version, DELL G3 computer
Why can’t nginx run php files? What to do? Improper configuration of nginx php-fpm caused the php file to fail to execute.
I haven’t been to my website for a long time. Today I went to see it and found a 50x error.
The website is served by nginx.
Many situations on the Internet are caused by problems with the
location ~ .php$ { # root html; #fastcgi_pass 127.0.0.1:9000; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
part of the nginx configuration. The problems found in keyword searches are mostly explanations of the incorrect configuration of the
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
part.
But my configuration is correct.
I am running normally on the server
service php-fpm status
.
php ./index.php
can also be executed normally.
The problem is locked in
fastcgi_pass 127.0.0.1:9000; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
That is to say, nginx cannot find php-fpm to execute the .php script.
So where is php-fpm.sock?
It depends on the settings in php-fpm.conf.
I changed the keyword search on the Internet and finally found some useful information
The setting of fastcgi_pass is determined according to the listen setting in php-fpm.conf.
Okay, the next question is to find php-fpm.conf and configure the listen item
Some servers do not directly provide settings in php-fpm.conf.
But there is such a sentence
include=/etc/php-fpm.d/*.conf
Then we go to the corresponding php-fpm.d directory to find conf
Mine is www.conf
Finally found the
listen = /var/run/php-fpm/php-fpm.sock
inside and then went to nginx and changed the corresponding configuration.
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
There are many
fastcgi_pass unix:/var/run/php-fpm.sock;
on the Internet. This depends on the php-fpm.sock settings in your php-fpm.conf.
Record the questions. Don’t panic when you encounter problems. Think more and search more. You can find many wonderful things.
Searching requires thinking. If you blindly go into dead ends, you will never find the answer, and your ability to analyze problems will not be improved.
Recommended learning: "PHP Video Tutorial"
The above is the detailed content of What should I do if nginx cannot run php files?. For more information, please follow other related articles on the PHP Chinese website!