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';
我对 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';