1. 程式人生 > >thinkphp5 上傳伺服器後 Access denied

thinkphp5 上傳伺服器後 Access denied

伺服器報 Access denied,要麼報 No input files,但是在網上查了查說是將 PHP 的cgi.fix_pathinfo 改成 1 即可,但是改成 1 顯然是有解析漏洞的,嘗試尋找不改 php.ini 的解決方法。

cgi.fix_pathinfo這個不建議開啟,預設的php.ini中也是不開啟的,安全性是很重要的一塊,怎麼能解決thinkphp5的這個問題! 

 

參考:正確修改cgi.fix_pathinfo與Nginx的配置

           Typecho 中 cgi.fix_pathinfo 與 Nginx 的配置

 

 

將 Nginx 的 PHP 段改成如下形式

  location ~ [^/]\.php(/|$) {
    #fastcgi_pass remote_php_ip:9000;
    fastcgi_split_path_info ^(.+?.php)(/.*)$;
    fastcgi_pass unix:/dev/shm/php-cgi.sock;
    fastcgi_index index.php;
    include fastcgi.conf;
  }

新增 fastcgi_split_path_info ^(.+?.php)(/.*)$; 後即可由 Nginx 設定 PATH_INFO 值。