📜  laravel 文件夹权限 - PHP (1)

📅  最后修改于: 2023-12-03 15:17:15.146000             🧑  作者: Mango

Laravel 文件夹权限 - PHP

对于 Laravel 应用程序而言,正确设置文件夹权限至关重要。在本文中,我们将介绍如何设置文件夹权限来确保 Laravel 应用程序能够正常工作。

为什么需要设置文件夹权限?

在服务器上运行 Laravel 应用程序时,文件夹的权限决定了谁可以读取、写入和执行文件。如果文件夹权限设置不正确,可能会导致应用程序错误、安全问题以及不可预测的行为。

Laravel 文件夹权限的建议设置

下面是 Laravel 文件夹权限的建议设置:

  • storage 目录必须可写入。
  • bootstrap/cache 目录必须可写入。
  • 生成的文件(例如,编译的视图和缓存)必须可写入。

以下是所有必须可写入的文件夹:

drwxrwxr-x 4 username www-data  4096 Jan  1 00:00 app
drwxrwxr-x 6 username www-data  4096 Jan  1 00:00 bootstrap
drwxrwxr-x 2 username www-data  4096 Jan  1 00:00 config
drwxrwxr-x 5 username www-data  4096 Jan  1 00:00 database
-rw-rw-r-- 1 username www-data     0 Jan  1 00:00 .gitignore
-rw-rw-r-- 1 username www-data   135 Jan  1 00:00 .env
drwxrwxr-x 2 username www-data  4096 Jan  1 00:00 public
drwxrwxr-x 5 username www-data  4096 Jan  1 00:00 resources
drwxrwxr-x 2 username www-data  4096 Jan  1 00:00 routes
drwxrwxr-x 5 username www-data  4096 Jan  1 00:00 storage
drwxrwxr-x 2 username www-data  4096 Jan  1 00:00 tests
drwxr-xr-x 2 username www-data  4096 Jan  1 00:00 vendor
drwxrwxr-x 2 username www-data  4096 Jan  1 00:00 node_modules
-rw-rw-r-- 1 username www-data   566 Jan  1 00:00 package.json
-rw-rw-r-- 1 username www-data 23772 Jan  1 00:00 package-lock.json
-rw-rw-r-- 1 username www-data  1463 Jan  1 00:00 webpack.mix.js
drwxr-xr-x 2 username www-data  4096 Jan  1 00:00 .circleci
-rw-rw-r-- 1 username www-data  1114 Jan  1 00:00 README.md
drwxr-xr-x 3 username www-data  4096 Jan  1 00:00 vendor-bak
如何设置 Laravel 文件夹权限?

以下是设置 Laravel 文件夹权限的步骤:

  1. 找到 Laravel 应用程序的根目录。
  2. 执行以下命令,将所有文件夹设置为 www-data 所属:
sudo chown -R www-data:www-data /path/to/laravel
  1. 将 storage 目录设置为可写入:
sudo chmod -R 775 /path/to/laravel/storage
  1. 将 bootstrap/cache 目录设置为可写入:
sudo chmod -R 775 /path/to/laravel/bootstrap/cache
  1. 确保 Laravel 应用程序生成的文件(如编译的视图和缓存)可写入。

  2. 验证修复后的权限:

ls -la /path/to/laravel
  1. 现在,Laravel 应用程序的文件夹权限已经正确配置。
结论

正确设置文件夹权限对于确保 Laravel 应用程序正常运行至关重要。请注意,本文中的权限仅适用于开发服务器。对于生产服务器,您应该考虑更严格的权限控制。