gpt4 book ai didi

Yii 使用 Gii 的 Linux 权限问题

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:38:00 25 4
gpt4 key购买 nike

当我尝试使用 Gii Controller 生成器时,我得到:

file_put_contents(.../gii-1.1.14/ControllerCode.php): failed to open stream: Permission denied 

我已经创建了一个 Yii 演示项目作为根目录,所以我递归地将 yiidemo(项目的文件夹)所有者和组更改为“web-data”。我没有改变权限。这没有帮助。

然后我递归地将此文件夹内的权限更改为 777。一切正常。

我为目录/文件尝试了不同的组合(例如,dir/file: 755/644),但都没有用。我知道 777 不是最好的解决方案。 如何找到适合这种情况的最佳工作权限组合?

最佳答案

当使用 Gii 时,它会在 protected 目录中创建新文件。换句话说,php 和 apache 需要写入您的 protected 目录。

默认情况下,出于安全原因,Gii 配置为只能在开发环境(本地主机)上访问。因此,它应该只安装在开发机器上。因为它可以在应用程序中生成新的PHP脚本文件,所以我们应该充分注意它的安全措施(例如密码、IP过滤器)。如果你想让它在其他可信任的计算机上访问,你可以像这样配置 Gii 模块。

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,
),
),
);

Because Gii may generate and save new code files in the existing application, we need to make sure that the Web server process has the proper permission to do so. The above GiiModule::newFileMode and GiiModule::newDirMode properties control how the new files and directories should be generated.

为了获得许可,您可以使用以下方式更改 protected 所有者:群组:

$ sudo chown yourUserName:www-data path/to/protected
$ sudo chmod 775 path/to/protected -R

read more about gii here

关于Yii 使用 Gii 的 Linux 权限问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23435856/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com