[英]laravel 5.2 internal server error
我的laravel项目在artisan serve
在localhost工作良好,值得推荐。 现在,我正在尝试将其托管在虚拟主机上。 我上传我的项目下public_html
复制所有文件public
文件夹我还编辑app.php
'debug' => env('APP_DEBUG', true),
用于显示错误。
我编辑index.php
require __DIR__.'/bootstrap/autoload.php';
$app = require_once __DIR__.'/bootstrap/app.php';
但它仍会返回500 Internal server error。
我也尝试了另一种方式,上传我的项目到根目录以外public
文件夹和上传public
文件夹到public_html
目录。 我将index.php
编辑为
require __DIR__.'/laravel/bootstrap/autoload.php';
$app = require_once __DIR__.'/laravel/bootstrap/app.php';
我找不到我的代码有什么问题。 我如何将laravel 5.2项目部署到虚拟主机中?
否否否。您需要对第二个选项进行一些改进。 让我向您解释。 laravel应用程序如下所示:
app/
config/
public/
public/index.php
.env
composer.json
artisan
对? 很好,现在虚拟主机的结构如下:
/home/user/
/home/user/public_html/
但是上面的结构不符合我们的需求,因为应该访问的是public/
文件夹而不是public_html/
。 所以..第一步是上传您的项目,就像这样:
/home/user/home/project/app/
/home/user/project/config/
/home/user/project/.env
/home/user/project/composer.json
/home/user/project/public/index.php
下一步是确定要将项目作为主要域还是子域。
如果您的laravel项目将用作主域,则只需编辑apache的配置文件httpd.conf
并设置以下规则:
DocumentRoot“ / home / user / project / public” ...
如果要作为子域进行项目开发,只需编辑apache的配置文件httpd.conf
并添加一个虚拟服务器,如下所示:
Listen 80 <VirtualHost *:80> DocumentRoot "/home/user//project/public" ServerName my-project.example.com # Other directives here </VirtualHost>
使用此指令,您要告诉apache Hey! when people visits my-project.example.com show them the content of my site under /home/user/site/public
Hey! when people visits my-project.example.com show them the content of my site under /home/user/site/public
。
如果您使用的是cpanel,则只需创建一个子域并将其指向
/home/user/site/public
就是这样,您不需要黑客入侵任何项目的文件,例如index.php,这是一个坏习惯。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.