【问题标题】:How to give permission for my Laravel application create subfolders in a directory (Ubuntu)如何授予我的 Laravel 应用程序在目录中创建子文件夹的权限(Ubuntu)
【发布时间】:2018-03-13 00:38:00
【问题描述】:

我有一个文件夹,它将作为我的应用程序用户创建的子文件夹的容器。我使用以下命令让我的应用程序执行 mkdir() 函数:“sudo chmod -R 775 /var/www/laravel/public/folder_want_give_permission_to”、“sudo chmod -R 777 /var/www/laravel/public/folder_want_give_permission_to ", "chown -R www-data:www-data folder_want_to_give_permission_to"。当我测试我的应用程序,访问执行 mkdir 函数的页面时,我必须不时运行命令,因为 Ubuntu 似乎“忘记”了我在目录中允许的权限并且我得到“ErrorException:mkdir() : 没有权限”。当我从我授予权限的目录中删除所有子文件夹时,情况变得更糟,在我创建第一个子文件夹后立即出现错误。我使用的 Ubuntu 版本是 16.04。

为了显示我的 mkdir(),我想我必须解释所涉及的变量值。

我的系统统计子目录的数量来管理用户目录,避免创建同名目录。要创建用户目录,我使用下面的代码。

mkdir( $userdirectory, 0755, true);

如果用户是第一个注册的用户,$userDirectory 将具有这样的值。

"/var/www/laravel/public/folder_want_to_give_permission_to/1"

这将在我要授予他们权限的文件夹内创建一个子目录,以便为他们创建额外的子文件夹来存储图像。

现在创建子文件夹以在用户文件夹中存储图像。

mkdir( $userdirectory. $numSubDir, 0755, true);

$folder 的值类似于“/var/www/laravel/public/folder_want_to_give_permission_to/1/”,而 $numSubdir 存储像“1”或“2”这样的数字来存储图像。

我最终会得到这样的结果: /var/www/laravel/public/folder_want_to_give_permission_to/1/1

所以用户可以有这样的目录来存储图像:

/var/www/laravel/public/folder_want_to_give_permission_to/1/1
/var/www/laravel/public/folder_want_to_give_permission_to/1/2

另一个用户

/var/www/laravel/public/folder_want_to_give_permission_to/2/1
/var/www/laravel/public/folder_want_to_give_permission_to/2/2

如果我想做什么不清楚: /var/www/laravel/public/folder_want_to_give_permission_to/user_directory/folder_to_store_images_1

/var/www/laravel/public/folder_want_to_give_permission_to/user_directory/folder_to_store_images_2

一个

【问题讨论】:

  • Ubuntu 从不 forgets!
  • 贴出执行mkdir函数的页面代码

标签: php linux laravel ubuntu nginx


【解决方案1】:

请运行以下命令,希望对您有所帮助。

sudo chown -R www-data:www-data /var/www/laravel/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-05
    • 2015-05-01
    • 2017-01-03
    • 2016-06-19
    • 2019-06-18
    • 1970-01-01
    相关资源
    最近更新 更多