5

我是一个菜鸟,在 AWS 上浏览 Yii 教程。到目前为止,我已经能够启动并运行所有内容 - 包括 mysql 连接。但现在我正在使用 Gii 代码生成工具来帮助创建一些模型类。这样做时,我收到以下错误:

generating models/User.php
            Unable to write the file '/var/www/html/blog/protected/models/User.php'.
done!

文档还告诉我:

Info: Because the code generator needs to save the generated code into files, it is
required that the Web process have the permission to create and modify the corresponding
 files. For simplicity, we may give the Web process the write permission to the whole
 /www/blog directory. Note that this is only needed on development machines when using Gii.

这对我来说很有意义,我理解 Linux 权限的基本逻辑应用于用户和组......但不适用于进程。有人可以向我指出如何授予 Gii 进程对 webroot(在我的情况下为:/var/www/html/blog/)目录的写权限的入门吗?

4

4 回答 4

10

我授予所有用户以递归方式读取、写入和执行 webapp 文件的权限。

$sudo chmod -R og=rwx webapp_folder

并解决了权限问题,但这可能不是最好的方法。

于 2013-03-14T14:41:09.590 回答
5

Gii 使用由网络服务器用户生成的进程来读取和写入文件。正是这个用户需要写入文件的权限。在 Debian/Ubuntu 上,用户是www-data. 检查它适用于您的操作系统并授予该用户在该文件夹中的写入权限。

于 2012-07-14T17:11:41.643 回答
3

在您的 httpd.conf 文件中有以下几行:

#
# If you wish httpd to run as a different user or group, you must run
# httpd as root initially and it will switch.
#
# User/Group: The name (or #number) of the user/group to run httpd as.
# It is usually good practice to create a dedicated user and group for
# running httpd, as with most system services.
#
User daemon
Group daemon

httpd 的用户和组是“守护进程”。现在在终端中键入以下命令:

chown -R daemon:daemon /path/to/htdocs/directory

有时这个命令必须在 type 之后执行

sudo su

现在 Gii 可以使用 chmod 775 权限将文件写入受保护的文件夹

于 2015-01-01T21:22:28.053 回答
1

仅供参考,如果命令文件夹或由命令创建的目录,如您可以写入文件用户浏览器,反之亦然......但要访问 yii 的写入权限..

按照这个

sudo chmod -R 0777 your_project_name/
于 2014-04-05T05:27:12.450 回答