解决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
即可禁止对该文件夹下的访问权限
大功告成!
相关推荐
webfullStack 2020-11-09
yezitoo 2020-07-26
flyDeDog 2020-06-07
zuihaobushi 2020-05-25
fort0 2020-05-16
xsg 2020-05-01
hive运行在hadoop基础上。选择一个hadoop服务器、安装hadoop。connect jdbc:hive2://<host>:<port>/<db>;auth=noSasl root 123
taisenki 2020-03-09
guan000 2020-02-21
Terminator0 2019-12-21
84520193 2019-12-16
wh0 2019-12-14
xzl 2019-12-06
onesuperdoer 2019-11-25
83254851 2013-08-29
hbcbgcx 2010-07-29
旭灿 2011-03-03
hyfound 2010-12-18