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

子域名ad.example.com下PHP+Nginx环境异常:CMS安装时install.php出现404错误

子域名ad.example.com下PHP+Nginx环境异常:CMS安装时install.php出现404错误

看起来你遇到的是Nginx解析深层路径PHP文件时的匹配或路径识别问题,我帮你一步步排查和解决:

  • 先确认文件实际存在性
    这是最容易忽略的点:登录服务器检查/usr/local/www/ad.example.com/html/www/admin/目录下,是否真的存在install.php和info.php?毕竟404错误最直接的原因就是请求的文件不在Nginx指定的root路径下。如果文件不存在,先把CMS安装文件完整放到/usr/local/www/ad.example.com/html/目录;如果文件存在,继续往下排查。

  • 调整Nginx的PHP处理规则
    你的location ~ \.php$块里,部分规则可能干扰了深层路径PHP文件的解析:

    1. 把fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;改成fastcgi_param SCRIPT_FILENAME $request_filename;,$request_filename是Nginx自动组合root和请求URI的变量,比手动拼接更准确。
    2. 暂时注释掉fastcgi_split_path_info ^(.+\.php)(/.+)$;(在前面加#),部分场景下这条拆分规则会打乱正常的PHP文件匹配逻辑。
  • 查看Nginx错误日志找精准线索
    你已经配置了专属错误日志,直接查看内容:cat /var/log/nginx/ad.example.com.error.log,日志里会明确说明404的原因——是Nginx找不到文件,还是PHP-FPM无法读取文件?比如显示"No such file or directory"就是路径/文件存在性问题;如果是权限报错,就需要调整文件权限。

  • 修复文件和目录权限
    Nginx和PHP-FPM的运行用户(通常是nginx或www-data)需要有读取CMS文件的权限,执行以下命令调整:

    chown -R nginx:nginx /usr/local/www/ad.example.com/html/
    chmod -R 755 /usr/local/www/ad.example.com/html/
    

    注意替换nginx:nginx为你服务器实际的运行用户(可通过ps aux | grep nginx查看)。

  • 确认端口访问正确性
    你的Nginx配置监听的是8000端口,访问时必须带上端口号,比如ad.example.com:8000/www/admin/install.php。如果没带端口就访问,必然会404(除非你做了80转8000的端口转发)。你说ad.example.com/info.php能访问,可能是浏览器自动记住了端口,但还是要确认深层路径的访问是否带了正确端口。

最后,无论修改了哪项配置,都要重启Nginx让配置生效:

systemctl restart nginx

备注:内容来源于stack exchange,提问作者Abel

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 07:58:00