ThinkPHP目录下面php文件 Access denied. 的问题

对于这种拒绝访问的报错,从我遇到过的问题总结来讲,可以从几个方向入手:

  1. 文件权限。    最容易想到的也是这个

  使用命令chmod -R 777 目录名

  2. 环境配置。     这个我也是有遇到过的

  改php.ini文件。将cgi.fix_pathinfo的值改成1。

  3. 调整环境和域名配置。

  这里我只说 lnmp环境下的一种,因为这个是我遇到过的。

  首先是 nginx.conf中,添加 fastcgi_split_path_info ^(.+\.php)(/.+)$;

  然后到配置域名解析的文件下(一般是以域名命名的配置文件) 添加 重定向的配置:

  location ~ .+\.php($|/) {

    fastcgi_pass unix:/tmp/php-cgi.sock;

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

    fastcgi_param PATH_INFO $fastcgi_path_info;

    fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;

    fastcgi_param SCRIPT_FILENAME $root$fastcgi_script_name;

    include fastcgi.conf;

  }

  目前遇到的基本是这几种,希望对大家有帮助。