【问题标题】:This page isn’t working, Currently unable to handle this request. HTTP ERROR 500 on Laravel此页面无法正常工作,目前无法处理此请求。 Laravel 上的 HTTP 错误 500
【发布时间】:2021-02-02 18:51:19
【问题描述】:

在使用 Laravel 之前,我一直在使用 MVC Web 框架并成功托管在 cPanel 服务器中。

现在,我决定升级我的框架。所以我找到了 Laravel,因为它还包含 MVC 模式并且对我来说很容易学习。看了一些教程,我决定在我的主域站点的子域上托管一个简单的 Laravel 项目。

我做了什么:

在服务器上

  1. 我创建了一个子域并将文档根设置为/public_html/subdomain.maindomain.com/public
  2. 在 public_html 文件夹中,我创建了一个文件夹并重命名为子域名。

在我的电脑上

composer global require laravel/installer
laravel new website
php artisan serve

现在,我在浏览器链接 http://127.0.0.1:8000 上获得了 Laravel 主页。 然后,我添加了引导程序。

composer require laravel/ui
php artisan ui bootstrap --auth
npm install && npm run dev

然后,我在 Laravel 主页上看到了登录和注册链接。

现在,请参阅 Laravel 的 https://laravel.com/docs/8.x/deployment 文档:

composer install --optimize-autoloader --no-dev
php artisan config:cache
php artisan route:cache
php artisan view:cache

现在,我上传了 zip 文件(网站文件夹中的所有文件)并将其解压缩到服务器文档根 /public_html/subdomain_name/。在 subdomain_name 文件夹中,我有我计算机上网站文件夹中的所有文件。

我没有更改公用文件夹的index.php 文件上的任何内容,保持默认状态。

require __DIR__.'/../vendor/autoload.php;
$app = require_once __DIR__.'/../bootstrap/app.php';

然后,我检查了我的网址,但我遇到了This page isn’t working, subdomain.domain.com is currently unable to handle this request. HTTP ERROR 500

【问题讨论】:

  • 为什么不检查错误日志,看看为什么会导致 500 错误
  • 如何查看错误日志?我不知道如何检查,因为我是 Laravel 的新手
  • 网络服务器的日志
  • 还有一件事,这里有子域 $app = require_once DIR.'/../subdomain_name/bootstrap/app.php';不是子域,而是您的 laravel 包名称,您上传的文件夹上的名称
  • @lagbox 是的,我在我的公用文件夹中找到错误日志文件,错误在上面的问题中,看到我更新了。但是要调试什么,它是laravel的默认文件。

标签: laravel hosting cpanel


【解决方案1】:

我是如何解决这个错误的:

我像上面的命令一样重新创建 Laravel 新项目,并将该文件放到我的服务器路径到 /public_html/laravel/。因此,我没有更改公用文件夹中index.php 文件的任何内容,保持默认状态。通过这样做,错误仍然保持不变(HTTP ERROR 500)。

然后,我查看/public_html/laravel/public/ 的error_log 文件,发现错误Parse error: syntax error, unexpected '?', expecting variable (T_VARIABLE) in public_html\laravel\vendor\ramsey\uuid\src\functions.php line on 34.

在 cPanel MultiPHP Managers 中,我选择我的站点并将 PHP 版本设置为与 [PHP 7.3 (ea-php73)] 之前的版本相同。然后,砰!有效。我在 URL 中看到了我的 laravel 项目的主页。

简单来说,在cPanel MultiPHP Managers中选择相同的PHP版本,帮我解决这个错误。

【讨论】:

    【解决方案2】:

    首先将laravel上传到你的域根文件夹而不是public_html并解压,然后将你laravel的public文件夹的内容移动到/public_html/subdomain.maindomain.com/public然后编辑index.php的内容require __DIR__.'/../vendor/autoload.php'; equire_once __DIR__.'/../bootstrap/app.php';到这个@ 987654323@ 未经测试,但我相信这应该可以工作

    【讨论】:

    • 我的域根设置为 /public_html。那么我需要将 Laravel 文件移动到您所说的路径吗?
    • 我不是在谈论您的子域根,我是指您的域根,您的域根不可能是 public_html
    • 它应该类似于 /Home/laravelpackage
    • 我修复了它,@lagbox 帮助我找出我的错误。我是如何解决的?看我的回答。
    猜你喜欢
    • 2018-07-02
    • 2017-10-21
    • 2018-12-05
    • 2020-05-01
    • 2020-03-01
    • 2019-05-03
    • 2018-12-20
    • 1970-01-01
    • 2017-12-19
    相关资源
    最近更新 更多