【问题标题】:Deployed Laravel app to shared hosting and get a "500 | Server Error" [closed]将 Laravel 应用程序部署到共享主机并获得“500 | 服务器错误”[关闭]
【发布时间】:2021-05-06 10:10:35
【问题描述】:

请允许我先说是的,我已经查看了其他类似的问题,虽然他们有一个与他们的代码有内在联系的问题,但我的本地机器上完全没问题。话虽如此,我在我的共享主机帐户中部署了一个Laravel e-commerce store,同时遵循所有常见的待办事项清单,即清除缓存、路由、视图、composer autoload -dev 等,并立即得到提到的错误。查看第一个错误下面的日志对我来说没有意义,因为我已将 .env DB 凭据从 localhost 的默认值更改为我在服务器上创建的凭据。我还确认它们没有硬编码在 config/database.php 文件中,所以说了这么多,任何人都可以帮助我理解这个日志文件。第一行对我来说特别没有意义,但问题可能出在其他地方。

我也不知道这是否相关,但出现在我的公用文件夹上的日志将其文件名作为应用程序在我的本地计算机上的位置,即C:\workspace\portfolio\shop\storage\logs,所以可能是路径问题?不知道这是否有帮助,但我提供的更多信息等等。

编辑:所以不允许我在此处发布完整的 51 行日志,因此如果可以帮助我已将其发布到 my website

[2021-05-05 17:16:44] production.ERROR: SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: NO) (SQL: select * from `shoes` where `tag` = Best Seller) {"exception":"[object] (Illuminate\\Database\\QueryException(code: 1045): SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: NO) (SQL: select * from `shoes` where `tag` = Best Seller) at /home/cruftedc/shushop/vendor/laravel/framework/src/Illuminate/Database/Connection.php:678)
[stacktrace]

【问题讨论】:

  • (a) 配置不正确,请确保您已成功更新您的 .env 文件,它正在被正确读取并且没有缓存配置。 (b) 您的会话存储驱动程序似乎引用了C:\... 路径,这也是错误的。但是,如果没有一些代码,我们无法知道这是什么问题
  • 首先感谢您的回复。我已经提到我的日志文件有那个路径。我没有设置它,所以我不知道如何更改它,因为我对 Laravel 框架还比较陌生。你知道该怎么做吗?与此同时,让我再次尝试清除缓存。最后,请提供可能有帮助的代码,我会尽快发布。
  • 检查您的config/session.php 以了解'storage' =>... 用于会话的内容。对于配置,您可以在 public/index.php 中执行 dd(config('database')) 并检查那里的值(但不要共享此信息,只需查看它以查看 .env 文件是否被正确读取)跨度>
  • 不开玩笑,我的config/session.php 文件中没有'storage' =>... 条目。这可能是问题所在还是只是被弃用了?
  • 它应该使用默认值,这可能意味着您在某处硬编码了基本路径。也许在您的代码中查找该硬编码路径,然后再次检查bootstrap/cache中是否有缓存配置@

标签: php laravel shared-hosting


【解决方案1】:

正如@apokryfos 在问题下的 cmets 中提到的那样,解决方案只是删除 bootstrap/cache 除了 .gitignore 中包含的文件,然后在您的服务器上而不是在本地运行命令 php artisan config:cache。这就是让我拥有以本地计算机位置为名称的日志文件夹的原因。

删除这些文件确实解决了问题,并且应用程序运行速度较慢,因此运行上面的命令确实有帮助。希望这对将来的其他人有所帮助。祝大家编程愉快✌️

【讨论】:

    【解决方案2】:

    也许它不相关,但是我自己的服务器以某种方式从日志文件中删除了文件权限。在这一点上,我假设我的权限设置错误。

    Quickfix 将是专门针对日志文件的 chmod 775。

    更好的解决方案是检查存储目录的所有权,因为它还可能导致文件、权限等问题......

    【讨论】:

    • 感谢您的回复,马塞尔。我刚刚查看了我的权限,它们目前为 755,所以我认为这不是问题。
    猜你喜欢
    • 1970-01-01
    • 2021-10-18
    • 1970-01-01
    • 1970-01-01
    • 2021-01-11
    • 2019-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多