首页 > 安装NGINX+PHP后出现403 Forbidden

安装NGINX+PHP后出现403 Forbidden

PHP错误日志:(运行php-cgi或spawn-fcgi,“***”为安装的所有php mod)

PHP Warning:  Module '***' already loaded in Unknown on line 0

Nginx错误日志:

[crit] 15871#0: *12 connect() to unix:/var/run/php-fastcgi.socket failed (13: Permission denied) while connecting to upstream, client: 192.168.177.190, server: localhost, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fastcgi.socket:", host: "192.168.177.1:8000"
[error] 15871#0: *12 open() "/usr/html/50x.html" failed (2: No such file or directory), client: 192.168.177.190, server: localhost, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fastcgi.socket", host: "192.168.177.1:8000"

我想php出现这个错误与系统里运行了/usr/bin/fcgi-cgi而发生冲突有关。
如果是冲突,那能不能解决?

spawn-fcgi运行的命令:(没有php-fpm)

/usr/bin/spawn-fcgi -s /var/run/php-fastcgi.socket -P /var/run/php-fastcgi.pid -C 2 -u www -g www -f /usr/bin/php-cgi

下面是php.ini、nginx.conf文件:

php.ini
http://downloads.openwrt.org.cn/PandoraBox/ralink/mt7620/packages/
详细的系统和软件文件及其版本明细放在了360网盘中,
http://yunpan.cn/cApeYIdHa2aGD (提取码:efbe)

希望有人能帮帮忙,即使不能解决也感谢你的留意!谢谢!
Matthew


已解决,关键就是openwrt的php-cgi会自动加载已安装的所有模块,所以在php. ini中不能写关于载入模块的设置,另一个问题是使用UNIX的话,nginx和PHP的启动用户必须一致。

① ;extension=XXXXX #需要注释掉,不然就会出现重复载入模块

② user nobody nogroup; #php-fastcgi的启动用户必须与nginx.conf中的用户相同,spawn-fcgi不能使用nobody用户开启

③ chmod 777 /XXXXXX/www #把网站目录设置为所有人都能读写的权限,或者是664


先试试 chmod 777 /var/run/php-fastcgi.socket
如果没这样可以访问就是这个文件的权限问题,然后再修改为对应的权限


从报错来看可能是文件权限的问题,就是你挂载的usb 里的文件最终在系统里的权限是什么,Nginx用户是使用的 nobody nogroup。

如果权限没有问题最好尝试在 wordpress 里创建一个index.php,如果原来有先mv一下,这个里面写;

<?php phpinfo();

再通过浏览器访问一下看是什么效果,如果还报错在访问的时候把 index.php 也加上再试试呢。 你需要一个一个问题地去排除,慢慢就能找到问题了。

【热门文章】
【热门文章】