amh文件权限问题
我本地部署amh7,安装了thinkphp的程序dnsmgr服务
生成的缓存为什么用户组是root:root
这就搞得程序运行某些操作,例如清理缓存就会报错 权限不足
<img src="https://s2.loli.net/2025/03/02/49lLIQfyDxKGPV7.jpg" >
手动删除重新生成缓存,偶尔也会冒出root:root
amh文件权限问题
我本地部署amh7,安装了thinkphp的程序dnsmgr服务
生成的缓存为什么用户组是root:root
这就搞得程序运行某些操作,例如清理缓存就会报错 权限不足
<img src="https://s2.loli.net/2025/03/02/49lLIQfyDxKGPV7.jpg" >
手动删除重新生成缓存,偶尔也会冒出root:root
解决方案分三步处理权限问题:
修改缓存目录权限
chown -R www:www /home/wwwroot/你的站点路径/runtime/
chmod -R 755 /home/wwwroot/你的站点路径/runtime/
强制ThinkPHP使用指定用户组(关键步骤)
在AMH面板找到对应站点的PHP设置,在php-fpm.conf
中添加:
user = www
group = www
listen.owner = www
listen.group = www
修复AMH任务调度权限
通过SSH执行:
amh module AMH-PhpAdmin php-fpm reload 你的PHP版本号
amh set php_param php_admin_value[open_basedir]=/tmp:/home/wwwroot 你的PHP版本号
常见问题补充:
sudo -u www
前缀www:www
用户组,root权限文件说明有sudo操作清理旧缓存建议用:
find /home/wwwroot/ -type d -name "runtime" -exec chown -R www:www {} \;
1 回答2.8k 阅读✓ 已解决
4 回答2.2k 阅读
1 回答3.2k 阅读
1 回答2.6k 阅读
2 回答1.5k 阅读
1 回答2k 阅读
692 阅读
要看生成的缓存的程序是怎么运行的,
amh网站站程序运行的用户都是www的,正常生成的是www,
如果是通过ssh运行的,命令可以指定下用户,如
sudo -u www /usr/local/php-generic-8.2/bin/php /home/wwwroot/xxx/...
任务计划方式也可以指定用户,如crontab -u www -e
或任务计划用amh文件管理的命令直接给目录755与www权限,如
amh amfile admin fp /home/wwwroot/你的具体目录/web/cache/ 755 www:www y .