【发布时间】: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”跨度>