【问题标题】:Laravel crash on init with error 500 (no additional info)Laravel 在初始化时崩溃并出现错误 500(没有其他信息)
【发布时间】:2017-11-01 12:41:53
【问题描述】:

我在将应用程序部署到共享主机时遇到了一些问题。

到目前为止我做了什么:

  • 将所有公共文件复制到 public_html/website/my-api
  • 将所有 laravel 系统文件复制到 public_html/laravel
  • 检查权限
  • 将 my-api/index.php 的 require 和 require_once 更正为 laravel/bootstrap/autoload.php
  • laravel 日志为空,没有数据
  • apache 日志为空,没有数据
  • 我的虚拟主机是 Hetzner 主机

经过一些调试,它在这里崩溃:

$response = $kernel->handle(
    $request = Illuminate\Http\Request::capture()
);

我收到错误 500 并且没有其他信息。我仔细检查了正确等。它们是 777。它只是崩溃并出现错误 500。

EDIT1:

我检查了 .php 版本,在 localhost 上它适用于 5.6.25 我用 5.6.35 测试过,也可以。

我会进一步调查。它似乎在 Application.php ::207 行崩溃

$this->make($bootstrapper)->bootstrap($this);
$bootstrapper has value -> "Illuminate\Foundation\Bootstrap\RegisterProviders"

如果有人知道更多。

【问题讨论】:

  • 500 通常是语法错误。您可能正在尝试部署到没有应用程序尝试使用的某些新语言功能的旧版本 PHP。另外,egad,不要使用 777 的烫发。
  • 对于 777 我知道 :) 我过去只是为了确保权利不计较它。在此修复后,实际使用权将是 0755(文件夹)和 0644(文件):S。它适用于 php 5.6.4 和 5.6.34 我使用 5.6.30 将进行另一次检查,但应该没问题。
  • 你使用的是什么版本的 laravel,我有 Laravel Framework 5.4.24,我没有找到你指的路径错误的文件:“laravel/bootstrap/cache/config.php”跨度>

标签: php laravel-5


【解决方案1】:

我发现我的应用程序中的路径不正确。

它是在 Windows 上开发的,所以路径文件夹是 \ 但迁移到生产服务器 (Linux) 后无法打开任何东西。因此,使用 \ -> / 更改我的自定义包含(require_one 调用)/最终应用工作

检查后发现这个错误

public function render($request, Exception $exception) in my App/Exception/Handler.php

并把 var_dump($exception) 最终打印出发生了什么。如果它对其他人有帮助。

感谢回答: https://stackoverflow.com/a/32714318/1861519 将我指向异常处理程序。

EDIT1:

还有一个提示,如果您没有 SSH(运行 artisan/composer),对于共享主机,请查看 laravel/bootstrap/cache/config.php 那里的路径不正确。

EDIT2:

非常感谢: https://stackoverflow.com/a/33652169/1861519 正确配置自定义公用文件夹。

【讨论】:

  • 下次请使用任何调试器来验证引擎盖下发生了什么。
  • 共享主机,不喜欢跟他闹。但是是的,这是一个选项,感谢您的提示:)
  • 您是直接在生产服务器上开发代码吗? :D
  • Nop :) 但这就是诀窍,在本地主机上一切正常,当尝试移植时,出现了问题。 :)
  • 非常感谢 EDIT1,这救了我!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-29
  • 2016-01-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多