解决ThinkPHPruntime⽬录访问权限的问题
问题
使⽤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
即可禁⽌对该⽂件夹下的访问权限
如何运行php项目
⼤功告成!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。