You need to enable JavaScript to run this app. Manjaro GNOME更新PHP与phpMyAdmin后出现mkdir权限拒绝报错的技术问询
优惠活动
大模型
产品
解决方案
定价
更多

Manjaro GNOME更新PHP与phpMyAdmin后出现mkdir权限拒绝报错的技术问询

Manjaro GNOME 环境下phpMyAdmin权限报错安全修复方案

报错核心逻辑:系统升级phpMyAdmin版本后,包管理器默认生成的临时缓存目录/usr/share/webapps/phpMyAdmin/tmp的属主、权限配置未匹配Web服务的运行身份,导致phpMyAdmin无法自动在tmp目录下创建twig模板缓存子目录,触发mkdir(): Permission denied系列告警。之前手动创建目录未生效,本质是没有调整目录的所属身份,仅手动建空目录依然无法被Web服务写入。

具体修复操作(全程不使用777权限)

  • 先确认当前Web服务的运行身份:执行ps aux | grep -E 'nginx|httpd'查询进程运行用户,Manjaro官方源安装的Nginx、Apache默认运行用户为http,无自定义配置无需额外调整。
  • 修正phpMyAdmin临时目录的属主与最小必要权限,执行如下命令:
    1. 将tmp目录的属主与属组调整为Web服务运行账号:
      sudo chown -R http:http /usr/share/webapps/phpMyAdmin/tmp
    2. 配置符合安全要求的目录权限:
      sudo chmod -R 750 /usr/share/webapps/phpMyAdmin/tmp
      这套权限的效果是:Web服务进程(http用户)拥有目录的读、写、执行能力,可正常生成缓存文件;属组内用户仅拥有读、执行权限,系统其他无关用户无任何访问权限,安全等级远高于777的开放权限。
  • 完成权限配置后,重启对应Web服务与PHP-FPM进程让配置生效:
    • 使用Nginx的场景执行:sudo systemctl restart nginx php-fpm
    • 使用Apache的场景执行:sudo systemctl restart httpd
  • 操作完成后直接刷新phpMyAdmin页面,所有权限类告警会自动消失,无需手动提前创建twig缓存子目录。

Stack Overflow问题标记已解答的操作说明

  • 仅当你是对应问题的提问者,登录账号后可在页面看到每条回答左侧的空心勾选按钮,点击该按钮即可将对应回答标记为已采纳的解决方案,标记后问题会正式标注为已解答状态,同步展示在你的个人主页问题列表中。
  • 普通浏览用户无权限执行标记操作,社区版主可根据规则对长期未处理的问题手动标记状态。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.02 00:54:07