【问题标题】:git clone Laravel and then it is not workinggit clone Laravel 然后它不工作
【发布时间】:2019-12-11 05:04:09
【问题描述】:

我是 Laravel 框架的新手。 Laravel 在我的桌面上正常工作。我将我的 laravel 项目推送到 github,然后当我 git clone 项目时,它不工作。有些页面显示我运行 composer update。我运行它后,laravel 显示错误 500 服务器错误。请帮我。我用的是ubuntu

【问题讨论】:

  • 您是否正确更新了 .env 文件?

标签: laravel github


【解决方案1】:

首先你应该更新你的 .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 的更正。

【讨论】:

  • 授予对存储文件的完全访问权限不是解决方案,这不是一个好习惯,不安全,甚至不是答案
  • 能否请您阅读 laravel 文档。 @AH.Pooladvand laravel.com/docs/6.x#directory-configuration,请参考“目录权限”
  • 我都读过了。如果有部分说授予777 存储文件的权限,请告诉我
  • 777 权限是错误的做法,如果您知道如何配置服务器,您将永远不需要授予777 权限,这会导致安全问题。
  • 谢谢@AH.Pooladvand,我认为这对我了解很有用,你能告诉我这里应该有什么权限吗?
【解决方案2】:

默认情况下,您的 .gitignore 文件中有一些文件不会推送到您的 github 存储库中,最重要的是 vendor.env 文件

  • 所以首先你应该复制你的.env.example 并制作你的.env 文件然后设置

  • 然后运行php artisan key:generate 来创建您的应用程序密钥

  • 然后设置.env文件的正确配置,如数据库等。

  • 如果您将文件托管在 /var/www/something 中,请确保 publicstorage 目录具有适当的权限,但强烈建议不要以 root 用户身份托管文件

【讨论】:

    【解决方案3】:

    在安装 Laravel 的目录下运行这两条命令:

    sudo chmod 755 -R DIRECTORY_NAME
    chmod -R o+w DIRECTORY_NAME/storage
    

    然后清除缓存并转储自动加载:

    composer dump-autoload
    

    【讨论】:

    • cache:clear 用于缓存存储......他们的缓存存储中可能有什么?缓存存储与这些有什么关系?
    • 他把代码上传到了git服务器上,所以他之前的日志和缓存可能还在。他没有忽略.gitignore文件中的存储文件夹
    • php artisan cache:clear 命令用于清除缓存。它将删除与数据库连接相关的所有缓存。据我所知。我知道如果我错了,你知道的比我多。
    • 缓存存储与配置缓存、路由缓存或视图缓存无关
    猜你喜欢
    • 2018-09-27
    • 1970-01-01
    • 2021-12-20
    • 1970-01-01
    • 2020-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-08
    相关资源
    最近更新 更多