我无法在 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/