解決ThinkPHP runtime目錄訪問權限的問題


問題

使用Thinkphp 發布項目的時候,框架會默認在runtime目錄下記錄日志,但是把項目發布時,由於系統是Linux系統,所以對於文件的權限要求比較嚴格。所以項目運行時,無法向runtime下記錄日志,導致運行失敗。

解決方法STEP 1

既然,沒有寫入權限,我們直接授權就可以解決問題。授權的方案有兩種

1、直接給文件夾授權
chmod -R 777 runtime  

這種方法的弊端在於此文件夾下所有的文件的權限全部被放開,很不安全

所以我想到了改變文件夾所屬用戶組的方案

2、更改文件夾按所屬用戶

因為我使用的是Apache,所以需要知道httpd對應的用戶的用戶名

ps aux|grep http

 

 

 有圖可知用戶是apache,將runtime對應的用戶改成apache

chown -R apache runtime

 

解決方法 STEP2

step 1 中所說的方法雖然都解決了文件寫入的問題,但是帶來一個新的問題,就是日志文件可以通過瀏覽器地址訪問到,這樣是及其不安全的

 

為了解決這問題,我們可以通過使用Apache的 .htaccess文件來控制runtime下文件的訪問權限。

我們再runtime目錄下新建 .htaccess文件,文件內容為

Order Allow,Deny
Deny from all

即可禁止對該文件夾下的訪問權限

 

 

 

大功告成!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM