[英]Deploy PHP application with extension mongo into heroku 2015
我刚刚将PHP应用程序部署到具有扩展mongo db的heroku中。 在上一个(11/2014)中,可以。 但目前我收到了错误消息:您的系统中缺少所请求的php扩展名ext-mongo *。
这是github上项目的结构(用于部署到heroku中):
Root
php.ini
composer.json
composer.lock
Procfile
MySources
ext
mongo.so (this file is located inside ext folder).
php.ini中:
extension_dir="/app/ext/"
extension=mongo.so
composer.json:
{
"require" : {
"silex/silex": "~1.1",
"monolog/monolog": "~1.7",
"ext-mongo": "*"
},
"require-dev": {
"heroku/heroku-buildpack-php": "*"
}
}
Procfile:
web: vendor/bin/heroku-php-apache2
任何人都可以帮助我配置或建议我解决此问题吗? 使用持久的heroku和php 5.6.7进行部署。
您不需要ext
文件夹(因为该扩展名已经在Heroku上可用了),并且您不需要php.ini
,无论如何它没有任何作用,因为您没有配置Heroku使用它。
您需要运行composer update
以使ext-mongo
要求“冻结”到composer.lock
。
如果您的系统上没有本地安装该扩展,则应该安装它(与MongoDB服务器一起),因为您真的想在本地测试您的代码,然后再盲目地将其推到Heroku上以查看其是否有效。不。
如果由于某种原因您无法执行此操作,则composer update --ignore-platform-reqs
将阻止在您的本地计算机上发生“系统中缺少所请求的php扩展名ext-mongo *”,并生成即使扩展名丢失,也可以纠正composer.lock
。
顺便说一下,这一切都清楚地记录在这里: https : //devcenter.heroku.com/articles/php-support#extensions
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.