如何在子域共享主机上安装 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
现在 composer 已经安装好了,你已经准备好使用 laravel 5 文档站点中提供的任何东西了。现在运行以下命令php /home2/your_cpanel_name/composer.phar
现在从目录结构中的任何位置运行此命令以安装 laravel。composer 全局需要 "laravel/installer=~1.1"
~/.composer/vendor/bin/laravel new your_site_name
【讨论】:
【参考方案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的主要内容,如果未能解决你的问题,请参考以下文章