将 PHP 部署到 Heroku
Posted
技术标签:
【中文标题】将 PHP 部署到 Heroku【英文标题】:Deploy PHP to Heroku 【发布时间】:2011-12-18 08:24:13 【问题描述】:自从 Heroku 不久前开始与 Facebook 集成以来,我一直想部署一些 php 文件,而不必使用 Facebook,只需在 Heroku 上查看我的 PHP。这个链接在这里,Deploying Wordpress to Heroku 只是说明你可以。但是,我似乎无法弄清楚 PHP 部分。我已经构建了一个 Rack 应用程序并尝试了一些仅查看 PHP 而不是 html 的实现,但没有成功。它所做的只是显示静态文本。与在 /public 文件夹中的应用程序上仅具有 PHP 文件相同,仅显示静态文本。这必须以某种方式起作用,因为我分享的链接可以帮助您完成在 Heroku 上获取 Wordpress 的过程。如果有人可以,请告诉我如何在我的 Heroku 应用程序上运行一些 PHP 文件,我将不胜感激。
谢谢
【问题讨论】:
Heroku 上的 PHP 支持现已正式发布,您可以像这样传递您的文件:github.com/delight-im/Heroku-PHP-Apache2 【参考方案1】:您需要在新的 Cedar 堆栈上创建您的 Heroku 应用程序。 Cedar 堆栈应用程序驻留在域 herokuapp.com 而不是 heroku.com 上,因此您会知道自己是否找到了正确的应用程序。然后它真的就像推送你的 PHP 文件一样简单。要在 Cedar 堆栈上创建应用程序,请使用:
heroku create
或者,如果您想设置一个名称,(即 myname.herokuapp.com)使用:
heroku create myapp
为了其他不熟悉 Git 的人的利益,您还需要设置、提交和推送您的 Git 存储库:
git init
git add .
git commit -m 'Initial commit'
git push heroku master
就是这样!祝你好运,玩得开心。
【讨论】:
Cedar 现在是默认堆栈,因此您现在可以使用:heroku create myapp
而不使用 --stack cedar
:)
cedar 文件系统是非持久性的,那么 heroku 如何处理运行多个 dyno 的会话?我应该在数据库上使用会话吗?因为这就是12-factor app 所建议的......
@hugo_leonardo 这听起来像是另一个问题,如果有人还没有问过,你应该问它。【参考方案2】:
您不需要做任何事情 - 只需将您的 PHP 代码向上推送,Heroku 魔法就会发生 - 我不是 PHP 专家,但最近不得不部署一个 PHP 站点,我只是将代码按原样推送到新的 Cedar应用程序,无需更改目录结构等,并且可以正常工作。
【讨论】:
我现有的应用程序中没有 Cedar,这会是个问题吗? 是的,您只能将 PHP 应用程序部署到 Heroku Cedar 堆栈,请确保在创建应用程序时执行heroku create --stack cedar
。
好的,这里都设置好了deep-water-7880.herokuapp.com。不过,我不太确定如何从当前的应用切换到这个应用。
看看git remote -v
的输出。 'heroku' 起源是否指向 deep-water-7880 应用程序?如果是这样,只需使用 git push heroku master 推送您的应用程序。
repo 的来源来自我的原始应用程序。【参考方案3】:
Heroku 现在有一个部署 PHP 的指南 Getting Started with PHP on Heroku,它解释说 Heroku 依赖于 Composer。
【讨论】:
以上是关于将 PHP 部署到 Heroku的主要内容,如果未能解决你的问题,请参考以下文章
将 PHP 应用程序部署到 Elastic Beanstalk 时出现问题
将 PHP 代码从 github 部署/重新部署到 GCP Compute Engine LAMP Stack 的最佳方式 [Google 点击部署]