本文讨论Yii2在服务器部署时遇到的权限问题
以基础模板部署为例
目录不可写问题
The directory is not writable by the Web process ...
原因是执行目录没有写权限,需要确认以下两个问题
1 网站目录是否属于 nginx的运行用户,假定nginx的运行目录是www,执行以下命令
chown -R www domain(web目录)
2 nginx的运行用户对于报错目录是否有写权限
chmod +w www /www/domian/web/assets
基础版部署结构
同时根目录下的runtime目录也需要有写权限
检查 nginx 的运行用户
ps -ef| grep nginx
nginx default running's user is nobody and group is nobody. if we haven't notice this user and group, 403 will be introduced.
note:
YII2中权限问题的表现形式有两种形式,一种是直接提示目录不可写,一种是网站的样式文件不能正常加载,虽然具体的文件确实存在,但是就是不能加载成功。