Nginx 请求 PHP 文件 报 File not found 错误处理

本文详细阐述了如何处理PHP-FPM遇到的两种常见问题:1)php-fpm无法找到执行文件,通过Nginx配置解决404;2)权限问题导致的php-fpm访问受限,提供用户权限调整和php-fpm配置修改建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这个错误很常见,主要有下面两种几种

1. php-fpm 找不到 SCRIPT_FILENAME 里执行的php文件

2. php-fpm 不能访问所执行的 php,也就是权限问题

第一种情况

可以在你的location php 里面添加当文件不存在时返回404而不是交给php-fpm进行处理

location ~ \.php$
{
...
#文件不存在转404
try_files $uri = 404;
...
}

location ~ \.php$ {
    root           html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  /script$fastcgi_script_name;
    include        fastcgi_params;
}
然后,在你的配置文件中找到下面这段
fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

替换成下面

 fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

然后重新加载nginx

 nginx -s reload

第二种情况

两种解决方法:
第一种,就是把你 root 文件夹设为其他用户允许
第二种,找到你的php-fpm的配置文件,找到下面这段,把 apache 替换成你要的用户组

; RPM: apache Choosed to be able to access some dir as httpd
user = apache
; RPM: Keep a group allowed to write in log dir.
group = apache

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

戴国进

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值