我尝试使用 yii 框架并使用 gii 工具 - 受保护的文件夹应该具有 777 权限。首先我运行:
chown myuser:myuser protected;
但是我没有使用 gii 工具 soo,我必须运行 command():
chmod 777 protected;
他们是另一种方式吗?(比如哪个用户运行可以加入 myuser 组的 gii 工具)
谢谢
使用以下方法更改受保护的所有者:组:
$ sudo chown yourUserName:www-data path/to/protected
$ sudo chmod 775 path/to/protected -R
这就是我所做的并且工作正常。试试看。
Yii 中的 Gii 工具在受保护的目录中创建新文件。这意味着 apache 和 php 需要写入受保护的目录。你试过755吗?它应该可以工作。
诀窍是只在您的开发服务器(本地主机)上使用 Gii - 这样您就不必在生产服务器上重置权限。
编辑
对不起,我想我错过了什么
出于安全原因,默认情况下,Gii 被配置为只能在 localhost 上访问。如果我们想让它在其他可信任的计算机上可以访问,我们可以配置 [GiiModule::ipFilters] 属性,如下面的代码所示。
return array(
......
'modules'=>array(
'gii'=>array(
'class'=>'system.gii.GiiModule',
'password'=>'pick up a password here',
// 'ipFilters'=>array(...a list of IPs...),
// 'newFileMode'=>0666,
// 'newDirMode'=>0777,
),
),
);
查看专题:自动生成代码以了解详细信息
整个受保护的文件夹不应该需要 777 - 只有资产和运行时文件夹。
您可以编写自己的脚本,只使用 PHPchmod
和chown
命令。
更改项目中受代码生成影响的目录的所有权。
cd path/to/protected
sudo chgrp www-data models controllers views