TP5.1項目從windows的Apache服務遷移到linux的Nginx服務需要注意幾點。

一、Apache的項目,複製到Nginx環境中之後,只有首頁能訪問,其他頁都是404

出現這種情況主要是因爲Nginx的rewrite沒有,需要在nginx.conf中的server{}中加入

location / { // …..省略部分代碼
   if (!-e $request_filename)
                {
        #       #地址作爲將參數rewrite到index.php上。
                rewrite ^/(.*)$ /index.php?s=$1;
        #       #若是子目錄則使用下面這句,將subdir改成目錄名稱即可。
                rewrite ^/subdir/(.*)$ /subdir/index.php?s=$1;
                 }
        }

}

然後重啓nginx服務(重要經常被忽略) , 問題解決

 

二、首先linux權限要有上傳的權限,否則文件不能上傳,如何修改權限這裏不做詳細說明。

windows下,php項目中的大小寫不區分,所以寫代碼時候可以不注意大小寫,windows下也能正常運行。

       但是項目傳到Linux下,是嚴格區分大小寫的,所以經常會出現,模版不存在、方法不存等錯誤。

       如果如下圖所示,出現模版不存在,方法不存在,就要考慮模版、方法等的大小寫問題,

主要修改地方

1、一般爲redirect('')中

2、模版中的方法函數名

3、如果使用了TP5.1的話,也可能是公共模版文件common/layout中的,大小寫與文件目錄不匹配。下面的兩張截圖中紅框中common大小寫要一致

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章