You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nginx无法处理.php文件返回404错误技术求助

排查Nginx无法处理PHP文件返回404的问题

我来帮你一步步定位这个问题,结合你提到的环境信息(PHP 7.1.14、Nginx配置在default.conf、PHP-FPM配置在/etc/php-fpm.d/www.conf),咱们从以下几个关键环节入手:

1. 检查Nginx配置中的PHP处理规则

首先打开你的default.conf,确认是否有正确处理.php文件的location块,同时确保server块里的index包含index.php:

server {
    # 其他配置...
    index index.php index.html index.htm; # 必须包含index.php,确保优先解析PHP文件

    location ~ \.php$ {
        root           /path/to/your/web/root; # 替换为你的网站根目录,比如/usr/share/nginx/html
        fastcgi_pass   127.0.0.1:9000; # 注意要和PHP-FPM的监听地址完全一致
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

修改后记得重启Nginx生效:

systemctl restart nginx

2. 验证PHP-FPM的运行状态与配置

先确认PHP-FPM是否正在运行:

systemctl status php-fpm.service

如果服务未启动,先启动它并设置开机自启:

systemctl start php-fpm.service
systemctl enable php-fpm.service

然后打开/etc/php-fpm.d/www.conf,检查监听配置:

  • 如果是TCP监听,确认listen = 127.0.0.1:9000(要和Nginx的fastcgi_pass对应)
  • 如果是Unix套接字,确认listen = /run/php-fpm/www.sock,同时要确保权限正确(避免Nginx无法连接):
listen.owner = nginx
listen.group = nginx
listen.mode = 0660

修改PHP-FPM配置后需要重启服务:

systemctl restart php-fpm.service

3. 确认index.php文件的位置与权限

你访问https://www.example.com/testPaymentPanel/返回404,需要确认:

  • testPaymentPanel目录是否存在于Nginx配置的root路径下,比如/path/to/web/root/testPaymentPanel/
  • 该目录下的index.php是否存在:
ls -l /path/to/web/root/testPaymentPanel/index.php

同时要确保Nginx运行用户(通常是nginx)有读取文件的权限:

chown -R nginx:nginx /path/to/web/root/testPaymentPanel/
chmod -R 755 /path/to/web/root/testPaymentPanel/

4. 通过Nginx日志定位具体问题

执行以下命令实时查看访问日志,然后再次访问出错的URL:

tail -f /var/log/nginx/access.log

观察日志中的404记录,重点看请求的request_uri和filename字段,判断Nginx是否在寻找错误的文件路径,或者请求是否没有匹配到PHP处理的location块。

5. 单独测试PHP-FPM响应

可以在网站根目录创建一个info.php文件:

<?php phpinfo(); ?>

然后访问https://www.example.com/info.php:

  • 如果能正常显示PHP信息页面,说明PHP-FPM和Nginx的基础配置没问题,问题出在testPaymentPanel路径的配置上(比如嵌套location、root继承错误)
  • 如果还是返回404,说明Nginx的PHP处理规则存在问题,需要重新检查default.conf中的配置

内容的提问来源于stack exchange,提问作者Fazel Najariyan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:36:32