📜  ubuntu laravel 存储权限 - PHP (1)

📅  最后修改于: 2023-12-03 14:48:06.780000             🧑  作者: Mango

Ubuntu Laravel 存储权限 - PHP

简介

在Laravel项目中,存储功能是必不可少的。但是在Ubuntu系统环境下,存储权限的问题经常会让程序员们头疼。本文将会介绍在Ubuntu系统环境下如何设置Laravel存储权限。

步骤
1. 查看存储目录权限

首先需要查看存储目录的权限,通过以下命令查看:

$ ls -l storage

可以看到存储目录的权限可能类似于以下的样子:

drwxr-xr-x  7 username username   4096 Jul  1 14:21 app
drwxr-xr-x  2 username username   4096 Jul  1 14:21 framework
drwxr-xr-x  2 username username   4096 Jul  1 14:21 logs
drwxr-xr-x 14 username username   4096 Jul  1 14:21 framework
drwxr-xr-x  2 username username   4096 Jul  1 14:21 views

其中 username 是当前系统用户的名称。可以看到存储目录的权限只有读、执行权限,没有写权限,这就会导致无法在存储目录中创建文件。

2. 修改目录权限

接下来需要修改存储目录的权限,让它拥有写权限。可以通过以下命令进行修改:

$ sudo chmod -R 775 storage

解释一下这个命令的含义:

  • sudo:使用管理员权限进行操作
  • chmod:修改目录和文件的权限
  • -R:递归修改目录及其子目录和文件的权限
  • 775:目录和文件的权限,其中 7 表示拥有者具有读、写、执行权限,7 表示同组用户具有读、写、执行权限,5 表示其他用户只具有读、执行权限。

这样就将存储目录的权限修改为了读、写、执行权限。

3. 修改用户组

接下来需要修改存储目录的用户组,让它与当前系统用户所在的用户组相同。可以通过以下命令进行修改:

$ sudo chgrp -R www-data storage bootstrap/cache

解释一下这个命令的含义:

  • sudo:使用管理员权限进行操作
  • chgrp:修改目录和文件的用户组
  • -R:递归修改目录及其子目录和文件的用户组
  • www-data:将存储目录和缓存目录的用户组修改为 www-data,这是 Apache 和 Nginx 等 Web 服务器使用的用户组,这样确保 Web 服务器可以对存储目录和缓存目录进行读、写操作。
4. 重新生成缓存

最后需要重新生成 bootstrap/cache 目录下的缓存:

$ php artisan config:cache
$ php artisan route:cache

这样就完成了在Ubuntu系统环境下设置Laravel存储权限的全部步骤。

结论

在Ubuntu系统环境下,Laravel存储权限的问题可能会让程序员们头疼。但是通过以上的设置步骤,可以轻松解决这个问题。希望本文可以对您有所帮助。