我有一个使用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?
答案 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.lockphp composer.phar update --ignore-platform-reqs
提交,部署代码和所有设置。
答案 1 :(得分:0)
如果安装了PHP CLI,你可以使用我编写的gem" php_process"来调用PHP库而不是捆绑PHP文件,这可能是导致Heroku将你的项目定义为使用的原因PHP。
答案 2 :(得分:0)
我不相信有办法解决这个问题,因为根据Heroku的说法 - 他们支持两种语言并确定应用程序中使用的语言。它似乎是一种语言或另一种语言。
我编写PHP并且已经在Heroku上使用Ruby,但是没有尝试将两者混合使用。这听起来比我个人感觉更麻烦。
为什么不尝试联系Heroku支持?