php runtime目录权限,解决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

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

大功告成!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ThinkPHP 是一款基于 PHP 的开源框架,它提供了一系列的功能和工具,其中包括权限管理的支持。在 ThinkPHP 中,你可以使用它的权限控制功能来管理用户的访问权限ThinkPHP 提供了一个名为 RBAC(Role-Based Access Control)的权限管理系统。RBAC 是一种常见的权限管理模型,它将用户分为不同的角色,每个角色拥有不同的权限。通过将用户分配给特定角色,可以实现对用户的访问权限进行控制。 在 ThinkPHP 中,你可以使用 TP 框架提供的 Auth 类来实现 RBAC 权限管理。Auth 类提供了一系列的方法来进行权限验证和管理,包括检查用户是否具有某个权限、给用户分配角色、创建新的角色等。 具体来说,你可以按照以下步骤来实现 ThinkPHP权限管理: 1. 创建角色表和权限表:在数据库中创建两张表,一张用于存储角色信息,另一张用于存储权限信息。 2. 配置 Auth 类:在 ThinkPHP 的配置文件中配置 Auth 类相关的参数,如角色表和权限表的表名等。 3. 创建角色和权限:使用 Auth 类提供的方法创建角色和权限,并将权限分配给相应的角色。 4. 用户登录和验证:在用户登录时,将用户信息存储到 session 中,并使用 Auth 类提供的方法验证用户的权限。 5. 权限检查:在需要进行权限检查的地方,使用 Auth 类提供的方法来检查用户是否具有相应的权限。 通过以上步骤,你可以实现基于 ThinkPHP权限管理功能。当然,这只是一个简单的示例,你可以根据实际需求进行更加复杂的权限管理操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值