我无法在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 bash
和composer update
之后:
Problem 1
- The requested PHP extension ext-gettext * is missing from your system.
答案 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。