如何在共享主机(子域)上部署流明框架

Posted

技术标签:

【中文标题】如何在共享主机(子域)上部署流明框架【英文标题】:How to deploy lumen framework on shared hosting (subdomain) 【发布时间】:2019-09-01 21:37:54 【问题描述】:

我在 localhost 上有项目,我需要有人可以帮助我将 lumen 框架部署到主机,我一直在 google 中搜索部署 lumen,但我刚刚发现部署 laravel,也许 laravel 和 lumen 是同一个框架,但我没有不知道如何将 lumen 框架部署到我在子域中的共享主机。

我已被上传到:

/home/usernamecpanel/lumen 

我把公共文件夹放到我的子域中,比如

/home/usernamecpanel/public_html/subdomain/index.php 
/home/usernamecpanel/public_html/subdomain/.htaccess

但我刚刚收到错误 500。

哦,在我运行之前,我一直在编辑 index.php 以指向 lumenproject :

$app = require __DIR__.'/../../lumen/bootstrap/app.php';

我真的很困惑,我已经搜索了几天但找不到解决方案,我想有人可以帮助我。

谢谢。

【问题讨论】:

谁能帮帮我? 【参考方案1】:

感谢您查看我的编辑

如何解决?

    压缩您的 Lumen 项目 转到您的共享主机文件管理器 我假设您的共享主机文件管理器具有类似/home/username/public_html 的目录结构。

    在 public_html 或 htdocs 之外创建一个文件夹,文件夹名称由你决定,例如“myfolder”结构看起来像/home/username/myfolder

    将您的项目上传到您创建的新文件夹并解压缩。

    解压后,“myfolder”里面有一个名为“public”的文件夹,把里面的内容移到

对于主域

/home/username/public_html

对于子域或子文件夹

/home/username/public_html/sub

    移动这些文件后,在/home/username/public_html/home/username/public_html/sub 中编辑index.php

    在文件中你会看到这段代码

$app = require __DIR__.'/../bootstrap/app.php';

把代码改成

对于主域

$app = require __DIR__.'/../myfolder/bootstrap/app.php';

对于子域/子文件夹

$app = require __DIR__.'/../../myfolder/bootstrap/app.php';

别忘了编辑“myfolder”内.env文件中的APP_URL

APP_URL .env 文件示例

APP_URL=http://yourdomain.com or http://sub.yourdomain.com or http://yourdomain.com/sub

【讨论】:

这篇文章绝对是黄金,应该更新为公认的答案。真的很有帮助。【参考方案2】:

我没有从 *** 得到任何答案,也没有人在 *** 中回答我的问题,所以我努力寻找自己的解决方案,在我的共享主机中手动上传我的 lumen 应用程序。

只需将您的 lumen 应用程序放在 public_html 之外并将您的 index.php 文件放入子域并编辑 index.php 设置路由到您的子域。

如果有人和我一样有问题并阅读了这个问题,你可以从这个问题中提问,如果我从这个页面得到通知,我会帮助你。

【讨论】:

你从哪里得到index.php 把你所有的 index.php 放到你的子域中,并将你的项目链接更改为你的子域 嗨,如果我喜欢 react-app.main-domain.com(这将是我的主应用程序,使用 React 构建,将其导出为静态 html),然后我将这些 React 应用程序放在由共享主机创建的文件夹。我希望我的 React 应用程序能够与 Lumen 应用程序通信(作为 RESTfull API),我是否需要创建另一个子域,比如 restful.main-domain.com,并作为公共服务进行通信?有没有更好的方法,比如不创建另一个子域并将其公开?【参考方案3】:

您需要使用 FileZilla 将其移动到 /var/www/html/foldername 内的子文件夹中,并将配置设置为该目录,但我不建议您在共享主机中设置微服务。

【讨论】:

移动'它'你的意思是在哪里?以及如何配置它?为什么不推荐?你的推荐是什么?请告诉我,谢谢。 将我的项目移动到 /var/www/html/foldername 消息语法错误后,我仍然遇到错误,/home/username/var/www/html/lumen/vendor/illuminate 中出现意外的 '=' /config/Repository.php 第 68 行 不想在共享主机上部署lumen应用的主要原因是你无权访问终端。当然,您可以使用 lumen 有限的 artisan 命令,但您希望将您的网站重定向到 app/lumen/index.php 在共享主机中,你可以做的是将index.php移动到public_html并编辑$app = require __DIR__.'/../bootstrap/app.php;`到$app = require __DIR__.'/../lumen/bootstrap/app.php';,注意因为你对服务器没有太多的控制权,这是一种解决方法,还有其他解决方案,但这是我过去设置应用程序的方式。 我可以,但是为什么还是不能跑?

以上是关于如何在共享主机(子域)上部署流明框架的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 部署共享主机子域

无法在共享主机中安装流明

如何在共享主机上部署 VuePress?

Laravel 与子域共享主机

拉拉维尔 |共享主机路由无法正常工作

如何在共享主机上部署 laravel websockets?