Nginx + PHP-fpm File not found.问题解决记录

不言
发布: 2023-03-24 18:16:01
原创
10516 人浏览过

这篇文章介绍的内容是关于Nginx + PHP-fpm File not found.问题解决记录,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

现象确认:

打开浏览器的开发者工具,查看请求信息


HTTP/1.1 404 Not Found

Server: nginx/1.11.10

Date: Fri, 20 Apr 2018 08:10:13 GMT

Content-Type: text/html; charset=UTF-8

Transfer-Encoding: chunked

Connection: keep-alive

X-Powered-By: PHP/5.6.30

说明结果是由FastCGI返回的。


问题原因:


估计是跟权限有关系


相同的配置,使用以下两个: 

/opt/local/share/nginx/html  
/opt/local/share/nginx/html/php
登录后复制

目录都可以,但使用:

/Users/xxx/Downloads/workForder
登录后复制
登录后复制
登录后复制

目录却不可以。

通过 ls -l 查看权限,发现区别在于

<br/>

/Users/xxx/Downloads/workForder
登录后复制
登录后复制
登录后复制

目录中的文件没有扩展属性,也就是没有@符号。

<br/>

后来修改Nginx的静态文件root目录到:

<br/>

/Users/xxx/Downloads/workForder
登录后复制
登录后复制
登录后复制

访问出现:

403 forbidden错误

再看 nginx 403 ,找到问题原因了,需要修改配置文件中的user 和 group。

nginx的格式是:<br/>

user 你的用户名/root owner;
比如:
user root owner;
登录后复制

PHP-fpm的分别修改:<br/>

user = root
group = owner
登录后复制

然后重新启动。

PHP-fpm 自身没有重启的命令,比较坑!只能杀进程了。<br/>

配置文件:

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #

        location ~ \.php$ {
            root           /Users/xxx/Downloads/workForder;
           # root           /opt/local/share/nginx/html/php;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            include        fastcgi.conf;

         }
登录后复制

这里只展示与PHP有关的部分。当我在配置中加入

<br/>
登录后复制
try_files $uri =404;
登录后复制
 后,就会看到由Nginx返回的:
登录后复制

<br/>

<br/>

访问PHP文件时,你可能会看到下面这样的错误:

<br/>

那是因为FastCGI没有启动,需要启动:

sudo php-fpm  -D
登录后复制

而如果Nginx和PHP的都指向同一个目录,那么还是会看到:

File not found

以上是Nginx + PHP-fpm File not found.问题解决记录的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!