码迷,mamicode.com
首页 > Web开发 > 详细

解决ThinkPHP runtime目录访问权限的问题

时间:2019-10-26 14:53:56      阅读:794      评论:0      收藏:0      [点我收藏+]

标签:runtime   更改   通过   image   com   发布   deny   php   mod   

问题

使用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

即可禁止对该文件夹下的访问权限

 

技术图片

技术图片

 

 

大功告成!

 

解决ThinkPHP runtime目录访问权限的问题

标签:runtime   更改   通过   image   com   发布   deny   php   mod   

原文地址:https://www.cnblogs.com/bobobobobo/p/11743038.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!