亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何解決nginx不支持thinkphp中pathinfo的問題

發布時間:2021-09-02 14:06:36 來源:億速云 閱讀:148 作者:小新 欄目:開發技術

這篇文章給大家分享的是有關如何解決nginx不支持thinkphp中pathinfo的問題的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

具體內容如下:

其實,要解決nginx不支持pathinfo的問題,有兩個解決思路,一是不使用pathinfo模式,二是修改nginx的配置文件,使它支持pathinfo。為了使問題簡單化,我選擇了第一種方式,因為就第二種方式,我查了很多資料,發現大家的方法不盡相同,有的還差別很大,容易造成誤導,所以我選擇從簡出發,選擇普通模式,雖然有一定的風險。當把index.php對應的前臺代碼修改完畢之后,發現前臺基本正常,可是后臺仍然出現重定向的問題。折騰了半天之后,我才想到看一下日志文件,原來是編輯器的問題,看來日志文件真的很重要,以前一直不重視。在config.php文件的第一行出現了輸出,

如何解決nginx不支持thinkphp中pathinfo的問題

在sublime下,一般會為UTF-8文件添加BOM頭,這個BOM頭在window下通常是看不見的,可以通過其他的編輯器查看到,Linux下也可以直接看到,通常顯示出來是一個亂碼字符,把這個字符刪除即可,或者簡單一點,直接在第一行回車,再刪除就可以了。到這里,后臺基本可以訪問了。

1.在登錄的時候,我是通過外部js文件發送Ajax請求進行驗證的,在js與ThinkPHP模塊函數通信遇到了點問題,一直不知道正確的路徑該怎么寫,也沒有查到相關資料,只能各種試,好在找到了解決辦法,通過直接帶上入口文件名的方式

var url="system.php?m=Login&a=doLog"; 
 $.post(url,{"staffname":$staffname,"staffpwd":$staffpwd,"verifycode":$verifycode},function(data){ 
  if(data=="codeerr"){ 
   alert("驗證碼錯誤!"); 
  }else if(data=="authempty"){ 
   alert("請輸入用戶名或密碼!") 
  }else if(data=="autherr"){ 
   alert("用戶名或密碼錯誤!"); 
  }else if(data=="success"){ 
   alert("登錄成功!"); 
   location.href="system.php?m=Index&a=index"; //訪問首頁 
  }

當然,此為普通模式下的訪問方式,如果是pathinfo的話,只需要把紅色部分如下修改即可

var url="doLog"; 
 $.post(url,{"staffname":$staffname,"staffpwd":$staffpwd,"verifycode":$verifycode},function(data){ 
  if(data=="codeerr"){ 
    alert("驗證碼錯誤!"); 
  }else if(data=="authempty"){ 
    alert("請輸入用戶名或密碼!") 
  }else if(data=="autherr"){ 
    alert("用戶名或密碼錯誤!"); 
  }else if(data=="success"){ 
    alert("登錄成功!"); 
    location.href="../Index/index"; //跳轉首頁,訪問其他模塊的方法

2.下載文件的時候,總是莫名多出許多html的東西,原因是緩沖區沒有清空,可以通過以下代碼進行修改,不過這種方式實際上是下載的仍然是html格式的文件,只不過改了一下后綴名為xls而已,因而用excel打開的時候會提示格式問題,忽略即可。同時需要注意使用 icov()函數轉換編碼,因為xls默認編碼格式并非utf-8.

ob_start(); 
ob_end_clean(); 
Header( "Content-type: application/octet-stream"); 
Header( "Accept-Ranges: bytes "); 
Header( "Content-type:application/vnd.ms-excel;charset=gb2312");  
Header( "Content-Disposition:attachment;filename={$filename}.xls");

3.在刪除文件時會遇到路徑問題,因為項目中使用的較多的是相對路徑,即相對入口文件而言,但是刪除文件則需要使用絕對路徑,我并沒有找到合適的解決方法,只好用了比較保守的方式

復制代碼 代碼如下:


$path="./Public/uploads/";     
$path=str_replace("<a target="_blank" href="file:///" >\\","/",realpath($path)."/</a>");  //獲取絕對路徑,并轉換分隔符 

4.在配置nginx和php方面,我使用了fastCGI的方式,將如下代碼保存為cmd文件,直接點擊運行就可以了
"F:\php\php-cgi.exe" -b 127.0.0.1:9000 -c "F:\php\php.ini" //后面是php文件的路徑
然后在nginx的配置文件里加上幾句話

location ~ \.php/?.* { 
   root   myapplications; 
   fastcgi_pass 127.0.0.1:9000; 
    fastcgi_index index.php; 
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
   include  fastcgi_params; 
   #定義變量 $path_info ,用于存放pathinfo信息 
    set $path_info ""; 
    #定義變量 $real_script_name,用于存放真實地址 
    set $real_script_name $fastcgi_script_name; 
    #如果地址與引號內的正則表達式匹配 
    if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") { 
      #將文件地址賦值給變量 $real_script_name 
      set $real_script_name $1; 
      #將文件地址后的參數賦值給變量 $path_info 
      set $path_info $2; 
    } 
    #配置fastcgi的一些參數 
    fastcgi_param SCRIPT_FILENAME $document_root$real_script_name; 
    fastcgi_param SCRIPT_NAME $real_script_name; 
    fastcgi_param PATH_INFO $path_info; 
   }

感謝各位的閱讀!關于“如何解決nginx不支持thinkphp中pathinfo的問題”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

丰镇市| 共和县| 江达县| 常宁市| 梁河县| 革吉县| 黔西县| 琼中| 花莲县| 长白| 体育| 磴口县| 万山特区| 张家界市| 开鲁县| 西乡县| 哈尔滨市| 华蓥市| 黄龙县| 闸北区| 房产| 定州市| 洪湖市| 墨脱县| 岢岚县| 沾化县| 莱阳市| 阜阳市| 会昌县| 滁州市| 金山区| 黎川县| 清远市| 利津县| 科技| 黑水县| 原阳县| 永吉县| 楚雄市| 枝江市| 商南县|