将laravel createDirectory所有者从根用户更改为其他用户

将laravel createDirectory所有者从根用户更改为其他用户,laravel,ubuntu,server,Laravel,Ubuntu,Server,在我的ubuntu服务器上,我有一个web3用户,在我的网站上有laravel 我有下面的代码来创建目录 Storage::disk('products')->makeDirectory($media\u dist,0755,true) 目录的所有者是web3,但当它创建目录时,它有一个根用户 我想知道它是如何发生的,并且有一个root用户 我如何更改它以创建拥有web3的目录?导航到Larvel目录 sudo chown web3:web3 /location_to_your_project/

在我的ubuntu服务器上,我有一个
web3
用户,在我的网站上有
laravel
我有下面的代码来创建目录

Storage::disk('products')->makeDirectory($media\u dist,0755,true)

目录的所有者是
web3
,但当它创建目录时,它有一个
根用户

我想知道它是如何发生的,并且有一个
root
用户


我如何更改它以创建拥有
web3
的目录?

导航到Larvel目录

sudo chown web3:web3 /location_to_your_project/storage/

sudo chgrp -R web3 storage bootstrap/cache

sudo chmod -R ug+rwx storage bootstrap/cache

如果要在存储文件夹中创建目录,可以使用“文件”外观而不是“存储”。这样做:

$storage_path = storage_path('app') . DIRECTORY_SEPARATOR .
    'public' . DIRECTORY_SEPARATOR . 'images';
if(!File::exists($storage_path)) {
    File::makeDirectory($storage_path, 0755, true, true);
}
这段代码也适用于Linux和Windows。 最好只让“web3”用户作为“storage/…”的所有者一次,并确保其内部的后续目录

sudo chown-R web3:web3存储/

这将允许web3用户在没有权限错误的情况下处理日志和laravel缓存。 因此,对于每个新目录,您都可以使用它们

注意不要更改laravel中任何文件夹的权限模式,也不要使用“chmod”命令(尤其是775甚至777)。这不安全

附加: 使用此命令创建快捷方式“public/storage/…”链接到“storage/public/app/…”

php artisan存储:链接


“但是当它创建目录时,它有一个根用户”目录已经有了
root
作为所有者,这不是OP想要的。我的所有目录都有
web3
用户作为所有者,但是当
laravel
创建目录时,目录有
root
作为所有者,但我希望它有
web3
作为所有者并更新,请检查您如何提供您的文件?Webserver或
php artisan serve
?我有一个Webserver,使用ispconfig配置我的网站和nginx