LNMPA環境下Thinkphp5.1莫名500錯誤的解決方法

近期使用Thinkphp5.1做項目,在本地測試完好的代碼,放到服務器上就500錯誤,開啓顯示PHP錯誤日誌也不會有任何信息顯示出來。最後發現是文件夾讀寫權限的問題(罪魁禍首是TP5.1的ROOTPATH識別有誤)。我的thinkphp路徑是/wwwroot/thinkphp/,入口文件路徑是/wwwroot/web2/index.php,TP5的ROOTPATH會判斷爲/wwwroot/。而TP5加載時需要訪問2個目錄EXTEND_PATH 擴展類庫目錄(默認爲 ROOT_PATH . 'extend/')VENDOR_PATH 第三方類庫目錄(默認爲 ROOT_PATH . 'vendor/') 就會出錯。本來應該是/wwwroot/thinkphp/extend,它卻要去訪問/wwwroot/extend,自然就要出錯了。vendor目錄也是這樣。

解決方法:

1、把整個/wwwroot/目錄的訪問權限賦予給整個站點。但是如果整個目錄下有多個站點,會有一定的安全隱患。

2、在/wwwroot/目錄下建立vendor和extend兩個目錄,並且給站點增加訪問/wwwroot/vendor/ 、/wwwroot/extend/這兩個目錄的的權限。

3、暫時沒有驗證,不知道TP5能不能自定義EXTEND_PATH、VENDOR_PATH、ROOT_PATH 的路徑。

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