當tp5.0趕上nginx

想要隱藏入口文件,php

是須要改配置文件的。html

官網明確告知了。前端

可是若是配置了站點域名,必定要改vhost.conf裏面的內容linux

添加在你對應的站點域名的location裏面nginx

  location / { // …..省略部分代碼
   if (!-e $request_filename) {
   rewrite  ^(.*)$  /index.php?s=/$1  last;
   break;
    }
 }

這樣添加就能夠了。緩存

若是白屏,開啓php-ini裏面的display_errors,還不報錯的話php7

別問函數

問就是你可能沒return視圖(/笑哭 ,我剛纔還由於這個看了很久的open_basedir測試

美滋滋,入口文件隱藏成功ui

接下來可能會遇到nginx報錯:

could not build the server_names_hash, you should increase server_names_hash_bucket_size: 32

emmmm , 不太清楚爲啥我這個這麼低,在nginx的配置文件裏面的http{}裏面加上一句:

server_names_hash_bucket_size 512;

nginx就能夠正常運行了。

PS:我用得是phpstudy最新版8,(就是那個跟寶塔很像的東東)

是否是比以前的版本顏值高了不少?以前測試版的時候我也一直在坑,如今出了正式版了。追求顏值的寶寶快去官網戳hhh。

 

emmmm,而後這個版本好像不怎麼支持站點域名配置裏面存在「-」的符號,由於我有個英文後臺的tp5,我就把文件夾名字寫成「admin-en」,可是添加站點域名以後,vhoist.conf裏面報錯了,具體啥問題我忘記了,說是127.0.0.1那行啥啥啥的。可是我把短槓去掉以後就正常了。

解決了這兩個問題,內心美滋滋,可是命運不會這麼放過我233333。

得知項目須要放在linux主機上,倒吸一口涼皮...這意味着我須要更改入口文件的位置,以及config.php裏面的路徑

不知道大家遇到過這種狀況沒有,就是更改config.php裏面的模板替換內容的時候前端不會立刻顯示新的路徑,清除緩存刪掉runtime也很差使,可是,我只要把html上其中一個好比說「__CSS__」改爲「_CSS__」,而後刷新,就會看到路徑報錯,由於html上本來替換路徑的不存在了,「_CSS__」就變成了正兒八經的路徑,再改回去,就會看到路徑正常了。

通過一番苦戰,終於把路徑都弄好了,美滋滋地準備去看後臺,結果????

驗證碼圖片破圖了????

由於之前中過招,首先懷疑是GD庫沒開,可是檢查發現gd2的擴展是開了的,而且別的項目在一樣的大根目錄下,一樣是php7.0+nginx ,沒有修改入口文件位置的項目就能看到正常的驗證碼圖。

因此驗證碼破圖確定是跟我改了入口文件位置有關係,由於破圖頁面上也不報錯,dump出來也能看到png是寫出來了的,應該是路徑的問題?

百度說加個ob_clean()

這個方法我昨天就嘗試過

無效

可是今天嘗試

成功了?????????

強刷了幾回

而後驗證碼華麗麗的出現了。。。。

昨天我用的是假的函數????

可怕

 


 

2019/7/30 今天我反應過來,不是ob_clean沒用,而是我加錯了位置,應該加在驗證碼主方法index的開頭

 

而後而後,由於改了入口文件的位置,其實有不少路徑就須要改。

比方說我用的umediter,上傳圖片報錯了,修改的地方在我上一篇umeditor使用筆記有寫,應該是要改回調回來的圖片路徑。

相關文章
相關標籤/搜索