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

标签 php heroku composer-php gettext

我无法在 Heroku 平台上安装 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 bash 并在 composer update 之后:

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

最佳答案

首先你需要使用ext-前缀来应用扩展。

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

运行 Composer 更新

如果您仍然遇到错误,则表示 Composer 无法为 gettext 更新您的供应商文件。我遇到了同样的问题,认为这是 Composer 的问题。

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

composer update --ignore-platform-reqs

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

关于php - 如何在 Heroku 上为 php 安装 gettext 扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32303089/

相关文章:

php - 使用 "member"表代替 "user"表进行 Yii 身份验证

php - MySQL UPDATE 或 INSERT 取决于 ID 的存在

java - 我如何在部署在heroku中的java应用程序中添加新的遗迹插件

php - 找不到 fatal error 类 MainController

php - 没有 Composer 的狂欢

php - 确定文件是否为 PHP 图像的最佳方法是什么?

php - 检查其中1条记录字段是否填写

mysql - Heroku Rails mySql (mysql2 gem) 迁移

git - 错误 : Cannot pull with rebase: You have unstaged changes

php - 我在 docker 下安装 composer-plugin-api 时出错