【问题标题】:laravel 5.2 internal server errorlaravel 5.2 内部服务器错误
【发布时间】:2016-07-10 18:20:29
【问题描述】:

artisan serve 推荐我的 laravel 项目在 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 项目部署到虚拟主机中?

【问题讨论】:

  • 你的服务器日志说什么? PHP、Apache、Laravel。

标签: php laravel-5 web-hosting laravel-5.2 shared-hosting


【解决方案1】:

不不不。您需要通过一些改进来实现第二个选项。让我给你解释一下。一个 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

下一步是决定您希望您的项目作为主域还是子域。

  1. 如果您的 laravel 项目将作为主域,只需编辑 apache 的配置文件 httpd.conf 并设置以下规则:

    DocumentRoot "/home/user/project/public" ...

  2. 如果您想将项目作为子域,只需编辑 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

    如果您使用的是 cpanel,只需创建一个子域并将其指向 /home/user/site/public

就是这样,您不需要破解任何项目的文件,例如 index.php,这是一种不好的做法。

【讨论】:

  • 我正在使用 cpanel 为其创建子域,但它没有指向 public_html/ 以外的任何其他内容,请指导我
  • @NeerajRathod,当您创建子域时,有一个文本字段,您可以在其中设置指向它的路径
  • 是的,其中有一个写有“public_html/”的文本字段,我已经删除了“public_html/”并写入了所需的指向地址,但是在创建子域之后,我看到指向地址仅以"public_html/" 继续我在文本字段中写的内容
  • 你能看一下httpd.conf文件看看虚拟主机是否被创建了吗?
  • 我通过引用此链接stackoverflow.com/questions/41242227/…解决它
猜你喜欢
  • 1970-01-01
  • 2023-03-04
  • 1970-01-01
  • 1970-01-01
  • 2016-06-19
  • 2017-08-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多