centos7 php 404,【nginx】Centos7 Lnmp 安装好后 能访问phpinfo没问题,但是访问项目却404,尝试了很多方法都未能解决...

1.如题,安装好了环境并配置成功,新建文件,输出phpinfo()也没问题,项目也放在统计目录下,请看:

c6d26695b6de5ac1b34188b9cb5f2907.png

访问phpinfo没毛病,接着请看:

68337d1e087d58088f324ed8aa69e6ed.png

访问项目就出问题了!开启了调试模式(php.ini里面的display_error开启了,也在index.php里面加了【error_reporting(E_ALL | E_STRICT);

ini_set(“display_errors”, “On”);】这一段) ,接下来看ngin

36d0ee155abb9c45b55e255a0f664e10.png

…]

php的错误日志确实是开启了,但是也没有内容,项目所有文件都是root所属着,777的权限:

09e65aee66a206409661b1b1dda7c75f.png

接下来请看nginx的配置信息:

b8ff52df8e3eec11193ff262f41d47e0.png

28aa3b4c67914afa4943f601144eb2e3.png

947b6f1b3936ffdee50827be1c1a9a04.png

没了,大致把我的需求描述完了,大家有什么解决方案吗?

回答

安装好lnmp的环境后,上传tp5项目

1、先是遇到一个 : scandir() has been disabled for security 的问题

解决方法:打开php.ini配置文件,找到: disable_functions 把里面的scandir删除即可。

2、然后再次刷新虽然跳转了,但是出现了404

排查了很久,是fastcgi_pass的问题,是因为nginx没有支持pathinfo,lnmp里自带了一个配置文件让php支持pathinfo的,他默认是用了 enable-php.conf 改成 enable-php-pathinfo.conf 这个文件就行了

重启,ok~

{域名}/index.php/ 改成 {域名}/index.php

server {

listen 80;

server_name localhost;

root /var/www/root;

index index.php;

location / {

try_files $uri $uri/ /index.php;

}

location ~ \.php {

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_split_path_info ^(.+\.php)(.*)$;

fastcgi_param PATH_INFO $fastcgi_path_info;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_params;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值