You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 9中SSH用户执行cache:clear命令的权限配置问题

Laravel 9缓存权限问题解决方案

不需要切换到www-data用户连接服务器,以下几种方法可以解决你的问题:

方法1:调整缓存目录的组权限(推荐)

你的user_composer用户已隶属于www-data组,只需给缓存目录开放组写入权限,并确保新文件继承组归属:

  1. 给缓存目录添加组写入权限:
chmod -R g+w storage/framework/cache/data
  1. 设置setgid位,让新创建的文件自动继承目录的www-data组:
chmod -R g+s storage/framework/cache/data

后续无论是Apache还是user_composer操作缓存目录,都不会出现权限冲突。

方法2:临时以www-data身份执行命令

直接用sudo指定www-data用户运行缓存清理命令,无需切换整个会话:

sudo -u www-data php artisan cache:clear

输入你的user_composer用户密码即可执行(前提是该用户有sudo权限)。

方法3:配置Laravel默认权限(长期优化)

修改Laravel的文件系统配置,让新生成的缓存文件自动拥有组可写权限:
打开config/filesystems.php,找到local磁盘配置,添加permissions项:

'local' => [
    'driver' => 'local',
    'root' => storage_path('app'),
    'permissions' => [
        'file' => [
            'public' => 0664,
            'private' => 0644,
        ],
        'dir' => [
            'public' => 0775,
            'private' => 0755,
        ],
    ],
],

保存后,新生成的缓存文件会自动应用0664权限(组可写),目录应用0775权限,从根源避免权限问题。


内容的提问来源于stack exchange,提问作者Giacomo M

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 07:20:35