Heroku:用PHP脚本运行Rails应用程序?

时间:2014-05-30 09:27:40

标签: php ruby-on-rails ruby git heroku

我有一个使用php代码的rails应用程序。我通过系统调用直接调用php代码' php path / to / script.php'

这在我安装了php的本地机器上运行正常。我希望将其部署到像Heroku这样的地方。要解决这个问题,我使用的是multibuildpack Github库:

github.com/ddollar/heroku-buildpack-multi

我在.buildpacks中指定了

https://github.com/heroku/heroku-buildpack-php.git https://github.com/heroku/heroku-buildpack-ruby.git

并且都安装得很好。问题是Heroku将应用程序视为php应用程序。在Heroku日志中,它声明它正在使用php配置并且当我希望它作为rails应用程序运行时启动php-fpm。

我该如何解决这个问题?具体来说,当我进行系统调用时,如何确保在Heroku上准备好php?

3 个答案:

答案 0 :(得分:1)

您可以使用多个buildpack

来完成此操作
heroku buildpacks:add heroku/php --index 1 -a app-name

还要在项目的根目录下创建一个composer.json文件,你甚至可以像这样指定php版本:

{
  "require": {
    "php": ">=5.4",
    "ext-mcrypt": ">=2.5.8"
  }
}

最后用

创建一个composer.lock
php composer.phar update --ignore-platform-reqs

提交,部署代码和所有设置。

答案 1 :(得分:0)

如果安装了PHP CLI,你可以使用我编写的gem" php_process"来调用PHP库而不是捆绑PHP文件,这可能是导致Heroku将你的项目定义为使用的原因PHP。

https://github.com/kaspernj/php_process

答案 2 :(得分:0)

我不相信有办法解决这个问题,因为根据Heroku的说法 - 他们支持两种语言并确定应用程序中使用的语言。它似乎是一种语言或另一种语言。

我编写PHP并且已经在Heroku上使用Ruby,但是没有尝试将两者混合使用。这听起来比我个人感觉更麻烦。

为什么不尝试联系Heroku支持?