【发布时间】:2019-12-11 05:04:09
【问题描述】:
我是 Laravel 框架的新手。 Laravel 在我的桌面上正常工作。我将我的 laravel 项目推送到 github,然后当我 git clone 项目时,它不工作。有些页面显示我运行 composer update。我运行它后,laravel 显示错误 500 服务器错误。请帮我。我用的是ubuntu
【问题讨论】:
-
您是否正确更新了 .env 文件?
我是 Laravel 框架的新手。 Laravel 在我的桌面上正常工作。我将我的 laravel 项目推送到 github,然后当我 git clone 项目时,它不工作。有些页面显示我运行 composer update。我运行它后,laravel 显示错误 500 服务器错误。请帮我。我用的是ubuntu
【问题讨论】:
首先你应该更新你的 .env 文件,因为 .gitignore 中的 git 会忽略它。因此您可以使用以下命令将粘贴 .env.example 复制到 .env:
cp .env.example .env
并确保您已授予存储和引导文件夹的权限。
sudo chgrp -R www-data storage bootstrap/cache
sudo chmod -R ug+rwx storage bootstrap/cache
希望对你有所帮助。如果没有,请告诉我。 感谢@AH.Pooladvand 的更正。
【讨论】:
777 存储文件的权限,请告诉我
777 权限是错误的做法,如果您知道如何配置服务器,您将永远不需要授予777 权限,这会导致安全问题。
默认情况下,您的 .gitignore 文件中有一些文件不会推送到您的 github 存储库中,最重要的是 vendor 和 .env 文件
所以首先你应该复制你的.env.example 并制作你的.env 文件然后设置
然后运行php artisan key:generate 来创建您的应用程序密钥
然后设置.env文件的正确配置,如数据库等。
如果您将文件托管在 /var/www/something 中,请确保 public 和 storage 目录具有适当的权限,但强烈建议不要以 root 用户身份托管文件
【讨论】:
在安装 Laravel 的目录下运行这两条命令:
sudo chmod 755 -R DIRECTORY_NAME
chmod -R o+w DIRECTORY_NAME/storage
然后清除缓存并转储自动加载:
composer dump-autoload
【讨论】:
cache:clear 用于缓存存储......他们的缓存存储中可能有什么?缓存存储与这些有什么关系?
.gitignore文件中的存储文件夹
php artisan cache:clear 命令用于清除缓存。它将删除与数据库连接相关的所有缓存。据我所知。我知道如果我错了,你知道的比我多。