我在将 Laravel 部署到共享托管服务器时遇到问题。
这是目录在服务器中的样子。
|-Laravel(contents of Laravel project folders and files except public folder)
|
|-public_html
|
|-example.com(default subfolder))
|
|-contents of Laravel public folder
我在 public_html 文件夹所在的同一级别创建了一个名为“Laravel”的文件夹,并将所有 Laravel 项目文件夹和文件(公共文件夹除外)放入其中。然后我把 public 文件夹中的所有东西都放在 public_html 的子文件夹中。
我也更改了 .env 文件(APP_ENV=production 和 APP_URL)。
此时,我认为我应该能够在访问 http://www.example.com/ 时看到一些内容,但我收到了 500 内部服务器错误。
我的 Laravel 版本是 7.15.0。
如果您能告诉我我做错了什么或我应该做什么,我将不胜感激。任何帮助将不胜感激,因为我尝试了多种方法但没有成功。
提前致谢。
答案 0 :(得分:0)
在 index.php 文件中,在定义 $app
之后,添加以下行
$app->bind('path.public`, function() {
return __DIR__;
})
答案 1 :(得分:0)
通常,在共享主机中,您必须将 Laravel 项目的 public
目录符号链接为服务器中的 public_html
。
您可以将项目部署到服务器中的任何文件夹,包括公共文件夹。然后只需使用 public_html
linux 命令将公共目录符号链接为 ln -s
:
ln -s <PATH TO THE ORIGINAL PUBLIC FOLDER> <PATH TO public_html/example.com>
<块引用>
请注意,在创建符号链接之前,您应该 rm -rf public_html/example.com
目录