一、问题出现原因
- 控制台执行了php命令且是在root账号下执行的
- 执行命令时如果log日志文件未被创建,则会自动创建日志文件,此时文件的所属用户和用户组是 root:root
- web访问时,发现日志文件无写入权限,提示权限不足
二、处理方法
- 查询子账户
- 子账户查看位置在php-fpm.conf文件里,文件路径为/usr/local/php/etc/php-fpm.conf(不同的PHP安装方法文件位置不固定),查询到子账户为www
- 处理当前log文件权限不足 执行 chown www:www log文件名称
- 处理后续权限不足方式 执行PHP命令时切换到PHP所在的子账户
- 执行su www切换到子账户
- 若提示This account is currently not available,可能是用户的shell禁止登录了,解决方法只要开启shell登录即可。
- 开启方法:
cat /etc/passwd | grep www
发现它的shell是“/sbin /nologin”,需要将起改成“/bin/bash”
vi /etc/passwd点击键盘上的字母 i 进入编辑模式
修改完毕后,点击ESC,输入:wq保存退出 -
这样再 su www就可以切换成功了
-
执行php命令