簡體   English   中英

將具有擴展名mongo的PHP應用程序部署到heroku 2015中

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM