GVKun编程网logo

Nginx + PHP-fpm File not found.问题解决记录(nginx php fpm配置)

6

如果您对Nginx+PHP-fpmFilenotfound.问题解决记录和nginxphpfpm配置感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解Nginx+PHP-fpmFilenotfou

如果您对Nginx + PHP-fpm File not found.问题解决记录nginx php fpm配置感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解Nginx + PHP-fpm File not found.问题解决记录的各种细节,并对nginx php fpm配置进行深入的分析,此外还有关于$file=isset($file) && $file?$file:''index''这段代码什么意思?、$file=isset($file) && $file?$file:''index''这段代码什么意思?该怎么处理、-bash: sz: command not found、-bash: rz: command not found、-bash:cordova:command not found;或者-bash:phonegap:command not found的实用技巧。

本文目录一览:

Nginx + PHP-fpm File not found.问题解决记录(nginx php fpm配置)

Nginx + PHP-fpm File not found.问题解决记录(nginx php fpm配置)

这篇文章介绍的内容是关于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返回的。

问题原因:

立即学习“PHP免费学习笔记(深入)”;

估计是跟权限有关系


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

/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中文网其它相关文章!

$file=isset($file) && $file?$file:''index''这段代码什么意思?

$file=isset($file) && $file?$file:''index''这段代码什么意思?

$file=isset($file) && $file?$file:''index'';
上面代码什么意思?最好能举个例子,上面实际执行了什么?


回复讨论(解决方案)

判断是否存在$file变量,如果存在则取值为$file 如果不存在则为index

? : 三目运算符
等价于
if(isset($file) && $file){
   $file=$file;
}else{
   $file=''index'';
}

? : 三元运算符 (?)问号前面是判断条件 如果条件为真则取:(冒号)前面的值 如果判断条件为假则取:(冒号)后面的值

$file=isset($file) && $file?$file:''index''这段代码什么意思?该怎么处理

$file=isset($file) && $file?$file:''index''这段代码什么意思?该怎么处理

$file=isset($file) && $file?$file:''index''这段代码什么意思?
$file=isset($file) && $file?$file:''index'';
上面代码什么意思?最好能举个例子,上面实际执行了什么?
------解决方案--------------------
判断是否存在$file变量,如果存在则取值为$file 如果不存在则为index
------解决方案--------------------
? : 三目运算符
等价于
if(isset($file) && $file){
   $file=$file;
}else{
   $file=''index'';
}
------解决方案--------------------
? : 三元运算符 (?)问号前面是判断条件 如果条件为真则取:(冒号)前面的值 如果判断条件为假则取:(冒号)后面的值

-bash: sz: command not found、-bash: rz: command not found

-bash: sz: command not found、-bash: rz: command not found

Linux系统中如果没有安装 lrzsz这个包,就会报rz、sz命令找不到,安装即可解决。 CentOS中解决-bash: sz: command not found、-bash: rz: command not found的方法是: yum install lrzsz

-bash:cordova:command not found;或者-bash:phonegap:command not found

-bash:cordova:command not found;或者-bash:phonegap:command not found

我不会问一个问题,但回答一个,因为我已经找到这个建议在网上迄今为止,并已经想出了自己。很好分享,对吧?

所以在命令行上,我做到了:

sudo npm install -g cordova
sudo npm install -g phonegap

这工作很好,但当我然后运行这些线:

My-MacBook-Pro:~ username$ cordova
My-MacBook-Pro:~ username$ phonegap

我收到这些消息:

-bash: cordova: command not found
-bash: phonegap: command not found

为什么?原来,我的/usr/local/lib目录上的权限设置为“everyone:No Access”。我改为“每个人:只读”,再试一次。

My-MacBook-Pro:~ username$ cordova
My-MacBook-Pro:~ username$ phonegap

这一次他们工作!作为一个测试,我把它回到“每个人:无访问”,看看是否真的是这个问题。这一次我得到了不同的消息:

-bash: /usr/local/bin/cordova: Permission denied
-bash: /usr/local/bin/phonegap: Permission denied

结果是一样的,虽然,我不能通过命令行调用cordova或phonegap(我包括最后两个拒绝消息,以防任何人搜索他们)。

我在Mac Os山狮。经过几次尝试,结果是解决方案是相当快。

在安装Cordova之前,请确保您是要安装到其中的文件夹的所有者。打开端子和类型:

sudo chown -R $USER /usr/local
sudo chmod -R 0775 /usr/local
npm install -g cordova

如果你安装了一个新版本的node.js,你仍然可能会得到一些错误。尝试删除npm缓存:

sudo npm cache clear
npm install -g cordova

然后输入cordova和祝你好运;)

编辑:这似乎是在Maverick,优胜美地,El Capitan和塞拉利昂

关于Nginx + PHP-fpm File not found.问题解决记录nginx php fpm配置的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于$file=isset($file) && $file?$file:''index''这段代码什么意思?、$file=isset($file) && $file?$file:''index''这段代码什么意思?该怎么处理、-bash: sz: command not found、-bash: rz: command not found、-bash:cordova:command not found;或者-bash:phonegap:command not found的相关信息,请在本站寻找。

本文标签: