如何在共享主机(子域)上部署流明框架
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';
,注意因为你对服务器没有太多的控制权,这是一种解决方法,还有其他解决方案,但这是我过去设置应用程序的方式。
我可以,但是为什么还是不能跑?以上是关于如何在共享主机(子域)上部署流明框架的主要内容,如果未能解决你的问题,请参考以下文章