Home >Backend Development >PHP Problem >Reasons and solutions for nginx not loading php files [Summary]

Reasons and solutions for nginx not loading php files [Summary]

PHPz
PHPzOriginal
2023-04-03 14:10:262759browse

nginx server is a lightweight web server software that is more efficient than traditional server software such as Apache. It can not only provide services for static HTML pages, but can also be used as a reverse proxy, load balancing and other advanced functions. However, in actual applications, sometimes the Nginx server cannot load PHP files normally, which will have a certain impact on website operation and development. This article mainly describes some common causes and solutions, hoping to be helpful to everyone.

1. Check the Nginx configuration file

In many cases, the reason why Nginx cannot load the PHP file is because there is a problem with the configuration file. We can check and solve this problem through the following aspects:

  1. Check whether the path of the PHP interpreter in the Nginx configuration file is correct. If it is incorrect, make changes:
location ~ \.php$ {
  fastcgi_pass 127.0.0.1:9000;
  fastcgi_index index.php;
  include fastcgi_params;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  fastcgi_param PATH_INFO $fastcgi_path_info;
  fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
}

The above is the PHP setting parameter code of a typical nginx configuration file.

  1. Check whether the path exists. If there is a problem with the path of the PHP interpreter, Nginx will not be able to find the PHP interpreter. At this time, you need to solve the problem by modifying the interpreter path or reinstalling PHP.

2. Install PHP and PHP-FPM

If there is no problem with your Nginx configuration file, but the PHP file still cannot be processed, then you can reinstall PHP and PHP-FPM to solve this problem. The specific steps are as follows:

  1. Uninstall the old version of PHP. If you have installed PHP, but the version is different from what you currently need, then you need to install the new version by uninstalling the old version, the command is as follows:
sudo apt-get remove php
  1. Install the new version of PHP. Before installing a new version, check whether your operating system and server support the new version of PHP. The command is as follows:
sudo apt-get install php5-fpm
  1. Restart Nginx. After completing the above operations, you need to restart the Nginx server so that the PHP file can be loaded normally. The command is as follows:
sudo service nginx restart

3. Modify Nginx default configuration

If you have reinstalled the new version of PHP and PHP-FPM, but the PHP file still cannot be loaded normally, then you can Try modifying the Nginx default configuration file to solve this problem. The specific steps are as follows:

  1. Find the Nginx default configuration file. The command is as follows:
sudo nano /etc/nginx/sites-available/default
  1. Modify the PHP settings in the file. You need to set up the sock file of php. The code is as follows:
location ~ \.php$ {
  try_files $uri =404;
  fastcgi_index index.php;
  fastcgi_pass unix:/run/php/php7.0-fpm.sock;
  include fastcgi_params;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  fastcgi_param PATH_INFO $fastcgi_path_info;
  fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
}
  1. Save the changes and restart the Nginx server. The command is as follows:
sudo service nginx restart

4. Summary

Through the above operations, I believe everyone has a deeper understanding of how to solve the problem that Nginx cannot load PHP files. Whether checking the Nginx configuration file, installing a new version of PHP and PHP-FPM, or modifying the Nginx default configuration file, it may help you successfully solve this problem. However, it should be noted that before performing the above operations, back up your configuration files and data so that you can quickly restore them if a problem occurs. At the same time, it is recommended that everyone understand the relevant knowledge before performing any system operation to avoid unexpected consequences caused by improper operation.

The above is the detailed content of Reasons and solutions for nginx not loading php files [Summary]. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn