如何在子域共享主机上安装 laravel

Posted

技术标签:

【中文标题】如何在子域共享主机上安装 laravel【英文标题】:how to install laravel on sub domian shared host 【发布时间】:2015-01-16 19:19:41 【问题描述】:

我使用 laravel 框架为我的网站创建小型注册系统。 现在我想把它上传到我的“共享主机”上。 我的主机控制面板是Direct Admin。 1.首先是像这样创建子域:reg.mydomain.me。 之后,我在我的根目录上创建了一个 reg 文件夹,并复制了其中的所有 laravel 文件夹和文件。

/home/mydomain.me/public_html/

    我将 Laravel 的所有主文件(app、boostrap、vendor、composer.json、composer.lock、phpunit.xml 等)移到了reg 文件夹**除了公共文件夹。

    打开/home/username/main-laravel/bootstrap/paths.php 并编辑如下:

    替换 'app' => DIR.'/../app' 为 'app' => DIR.'/../. ./main-laravel/app',

    替换 'public' => DIR.'/../public' 为 'public' => DIR.'/../. ./public_html/laravel',

    将'base' => DIR.'/..'替换为'base' => DIR.'/../../ main-laravel',

    替换'storage' => DIR.'/../app/storage', 为'storage' => DIR.'/.. /../main-laravel/app/storage',

并在 public_html 中创建一个新文件夹

' /home/username/public_html/reg/laravel '

    我将 Laravel 的 public 文件夹中的所有内容都移到了“public_html/reg/laravel”文件夹中(步骤 4)

    打开 /home/username/public_html/reg/laravel/index.php 并编辑如下:-

    替换需要DIR.'/../bootstrap/autoload.php';需要 DIR.'/../../main-laravel/bootstrap/autoload.php';

    替换 $app = require_once DIR.'/../bootstrap/start.php';到 $app = require_once DIR.'/../../main-laravel/bootstrap/start.php';

但是当我运行 reg.mydomain.me 我得到空白页!!!

如何在子域中运行 laraval?

tnx

【问题讨论】:

为什么需要像这样分离公用文件夹和实际应用程序?你不能把所有东西都放在/home/username/reg,然后让你的子域文档根指向/home/username/reg/public吗? 【参考方案1】:

这是我在主机 gator 上托管我的 laravel 5 网站和婴儿计划的分步方法。

第 1 步 - 先决条件:(在 Windows 上设置 SSH 访问)

    检查您是否具有对主机 gator 帐户的 SSH 访问权限。如果不与支持团队交谈,他们会很好,并且可以访问 ssh。 Download Putty 从这里从 Windows 访问您的 hostgator 帐户。 Linux 用户不需要它,因为 SSH 已经存在并且可以从终端访问 你准备好了。双击putty并输入ip和端口,然后输入用户名和密码。 检查像“pwd”这样的简单命令。 “光盘”,“光盘 ..”。如果您在这一步之前觉得有问题,请在下方评论

第 2 步 - 检查 PHP 版本(Laravel 5 需要 PHP v >= 5.4)

    您已经设置了 ssh,现在您可以访问您的帐户了。现在需要输入一些命令来检查和设置 php 版本。以下命令应显示类似 PHP 5.5.6 (cli) ....

    $ php -v

    如果您没有获得 > 5.4 版本,请不要担心。在 public_html 文件夹中创建一个 .htaccess 文件并放入以下一行代码。

    AddHandler 应用程序/x-httpd-php55 .php

第 3 步 - 安装 Composer 和 laravel 5

    来到腻子。使用 pwd 命令并检查您是否在根目录(/home2/your_cpanel_name)中。如果是,则执行以下命令,它将在根目录 (/home2/your_cpanel_name/composer.phar) 下载 composer.phar 文件

    curl -sS https://getcomposer.org/installer | php

    现在从任何地方运行以下命令。

    php /home2/your_cpanel_name/composer.phar

    现在 composer 已经安装好了,你已经准备好使用 laravel 5 文档站点中提供的任何东西了。现在运行以下命令

    composer 全局需要 "laravel/installer=~1.1"

    现在从目录结构中的任何位置运行此命令以安装 laravel。

    ~/.composer/vendor/bin/laravel new your_site_name

我为此付出了很多努力。我希望这对 Laravel 5 的新手有所帮助。如果您遇到任何问题,请在下方评论。

【讨论】:

【参考方案2】:

以下是执行此操作的步骤。

    创建子域后,您将拥有一个根路径 /home/public_html/reg。 在根路径或某个目录中获取所有 laravel 代码。 将公用文件夹的内容移动到/home/public_html/reg。 更新 index.php 以反映您拥有 laravel 代码和引导程序的目录。 在代码的根目录中运行 composer update。这样做是为了显示供应商文件夹。

以下链接帮助我在 hostgator 上获取了我的应用程序。 http://laravel.io/forum/03-06-2015-how-to-setup-laravel-5-in-shared-hosting

【讨论】:

【参考方案3】:

实际上,在子域上设置 Laravel 比将其设置为主应用程序更容易,原因是,您有机会将您的域指向您的公共文件夹,它可以帮助您不必担心 .htaccess 文件。

所以我假设您正在安装

 /home/public_html/reg

如果是这样的话,那么您所要做的就是将所有文件移到那里,如果您无权访问它,则不必在远程服务器上运行 composer。只需将所有文件移动到新文件夹中

然后让您的子域指向您的新应用程序的公用文件夹。如下所示。

 /home/public_html/reg/public

我希望这对某人有所帮助。

【讨论】:

以上是关于如何在子域共享主机上安装 laravel的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 部署共享主机子域

通过多个 Laravel 5 安装跨子域共享身份验证会话

Laravel 与子域共享主机

如何在 Cpanel 的子域 lumen/laravel 上安装免费 SSL?

无法使用 Laravel 4 与子域共享会话

laravel 中的护照详细信息 api 在本地主机上可以正常工作,但不能在共享主机上运行