将 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 点击部署]

将 PHP 应用程序部署到 App Engine 时出错

OpsWorks 厨师将自定义 json 部署到 php

无法通过 GitHub 将 Laravel php 应用程序部署到 azure

如何使用谷歌应用引擎将 php 项目部署到谷歌云中?