Home > Article > Backend Development > nginx/php-fpm accesses php files and downloads them directly without running them
Encountering this kind of problem is usually caused by incorrect fastcgi_script_name access script path.
Especially when there are subdirectories. For example, for the Yii framework, the path is usually project/web
So if you access /project/index.php in the URL, the SCRIPT_NAME in the nginx configuration will be the full path: project/index.php
If the code in your configuration is as follows:
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
Then the file actually accessed is /var/site_root/project/web/project/index.php, which is obvious This is not the result we want. What we want to access is /project/web/index.php.
These errors can be tracked by viewing php-fpm.log (error log).
The solution is to modify the corresponding path configuration.
Note: For subdirectory configuration for multiple sites, please refer to:
https://rtcamp.com/wordpress-nginx/tutorials/multisite/subdirectories/in-a-subdirectory/
The above introduces nginx/php-fpm to access PHP files and download them directly without running them, including the content. I hope it will be helpful to friends who are interested in PHP tutorials.