Nginx服务器中PHP文件无法执行仅下载的问题求助
解决Nginx下PHP文件被下载而非执行的问题
以下是针对性的排查和修复步骤:
1. 确认PHP-FPM服务状态
- 执行命令检查PHP-FPM是否正常运行:
systemctl status php8.1-fpm - 如果服务未启动,执行启动命令并设置开机自启:
systemctl start php8.1-fpm systemctl enable php8.1-fpm
2. 验证Nginx配置细节
- 检查
snippets/fastcgi-php.conf文件是否存在(默认路径/etc/nginx/snippets/),确保文件包含以下核心参数:fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; - 确认
fastcgi_pass指定的Socket路径有效:
执行ls -l /var/run/php/php8.1-fpm.sock查看文件是否存在,且Nginx运行用户(通常为www-data)有访问权限。若权限异常,修改PHP-FPM配置文件(/etc/php/8.1/fpm/pool.d/www.conf)中的以下参数:
修改后重启PHP-FPM:listen.owner = www-data listen.group = www-datasystemctl restart php8.1-fpm
3. 调整Nginx的请求转发规则
修改location /块的try_files配置,确保PHP请求能被正确转发到PHP-FPM处理:
location / { try_files $uri $uri/ /index.php?$query_string; }
4. 检查文件权限
确保网站目录及PHP文件的权限允许Nginx读取:
chown -R www-data:www-data /var/www/nerdowallet_backend/public chmod -R 755 /var/www/nerdowallet_backend/public
5. 重载Nginx配置
- 先验证配置语法正确性:
nginx -t - 验证通过后重载配置:
systemctl reload nginx
完成以上步骤后,重新访问index.php文件即可正常执行。
内容的提问来源于stack exchange,提问作者Thevindu Kulasinghe
相关产品推荐
相关产品推荐

