ThinkPHP项目在Nginx上运行的配置问题

为什么需要配置

当我们在使用Nginx来运行Think PHP写的网站项目,在访问时,可能会出现:Access denied , 如图:

发生错误的原因是:Nginx下不支持PATH_INFO

如何解决这个问题

既然Nginx不支持PATH_INFO , 那么我们应该对nginx进行配置,使其支持PATH_INFO (我以CentOS为例)

第一步:

进入 /usr/local/php/etc/php.ini , 将cgi.fix_pathinfo的值设为1,如图: 输入图片说明

在进入 /usr/local/nginx/conf/nginx.conf , 添加如下内内容:

    location / {
      #try_files $uri $uri/ /index.php?$query_string;
       if (!-e $request_filename){
          rewrite ^/(.*)$ /index.php/$1 last;
     }
    }

    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_param   PATH_INFO   $fastcgi_path_info;  
    fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
   

添加位置如图所示:

输入图片说明

第二步:

在CentOS分别运行命令:

service php-fpm restart
service nginx restart

拓展

如何其上方法不奏效,可以看看其他的blog, 例如: https://blog.csdn.net/w6611415/article/details/40716563

转载于:https://my.oschina.net/u/3471006/blog/1807056

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值