如何在Heroku上安装php的gettext扩展?

时间:2015-08-31 02:10:06

标签: php heroku composer-php gettext

我无法在Heroku plataform上安装gettext扩展程序。关于发展环境gettext有效,但不适用于Heroku。

我的结构:

/app
    /web
        .user.ini
        gettext.php
        index.php
    composer.json
    composer.lock
    Procfile
    README.md

.user.ini

extension = gettext.so

composer.json

{
   "require": {
      "php": "~5.6.4",
      "slim/slim": "~2.6",
      "nategood/httpful": "*",
      "gettext": "*"
    },
    "require-dev": {
      "heroku/heroku-buildpack-php": "*"
   }
}

代码 gettext.php

if (!function_exists("gettext")){ echo "gettext is not installed\n";}
else{echo "gettext is supported\n";}

返回:

gettext is not installed

当我尝试heroku run bashcomposer update之后:

Problem 1
   - The requested PHP extension ext-gettext * is missing from your system.

1 个答案:

答案 0 :(得分:5)

首先,您需要使用ext-前缀来应用扩展名。

{
   "require": {
      "ext-gettext": "*"
    },
    "require-dev": {
      "heroku/heroku-buildpack-php": "*"
   }
}

运行composer update

如果仍然出现错误,则表示编写者无法更新gettext的供应商文件。我有同样的问题,认为这是作曲家的问题。

对于真正的奇偶校验,您应该尝试获取所需的lib,但您可以忽略缺少本地gettext:

composer update --ignore-platform-reqs

然后,Composer将无错误地运行,然后您可以将其推送到Heroku。 然后,Heroku将使用gettext构建PHP。