laravel project on cpanel subdomain error: HTTP ERROR 500

laravel project on cpanel subdomain error: HTTP ERROR 500

我对 laravel 7 项目有一个令人困惑的错误。当我将这个项目上传到主目录时,它运行成功。但是当我将它上传到子域时,它给了我 500 错误。 我做了这个答案中提到的步骤,但它也没有用 希望有人帮助我

Laravel 项目启动窗体 public 文件夹。

从 root 启动它的错误做法。

您必须将项目放入托管根目录(与 public_html 文件夹处于同一级别),然后删除 public_html 文件夹并创建下一个符号 link.

运行 终端主机 root 中的命令

    ln -s your_project_folder/public public_html

在这种情况下,您无需编辑 index.php 个文件。

如果您打算将来使用任何部署器,我建议使用下一个文件夹结构:

    /public_html <- link to 
    /sites/your_project_name/current/public

并将您当前的主要项目保存在 current 文件夹中。

由于 laravel 使用漂亮的 URL,使用 zigzagfamily。com/chatbot 将不起作用。

在您的 cPanel 中创建一个指向 /public_html/chatbot

的子域 (chatbot.zigzagfamily.com)

进入/public_html/chatbot文件夹,upload/move你的/chatbot/public内容。

修改您的 /public_html/chatbot/index.php 文件:

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

收件人:

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

最后,确保bootstrap文件夹和storage文件夹有0775权限(测试用)。

首先,我要感谢所有贡献者。 我知道错误的原因。 在这张图片中:
[![在此处输入图片描述][1]][1]

名为 public_html 的文件并不像看起来那样位于根目录中。 这只是 : /domains/zigzagfamily.com/public_html 的快捷方式 因此,当我在 public_html 中创建一个名为 chatbot 的文件夹时, 我在 index.php 中写道:

require __DIR__.'/../../chatbot/vendor/autoload.php';

$app = require_once __DIR__.'/../../chatbot/bootstrap/app.php';

这是错误的,因为正如我所说,public_html 在这里:

/domains/zigzagfamily.com/public_html 所以当我返回两个文件夹时,我现在在 zigzagfamily.com 所以我必须返回根目录中的另外两个文件夹才能访问位于根目录中的 chatbot 文件夹。 Summery:正确的代码是:

require __DIR__.'/../../../../chatbot/vendor/autoload.php';

$app = require_once __DIR__.'/../../../../chatbot/bootstrap/app.php';