1

私は次の声明を持っています:

$img->setTitle(mb_check_encoding($item['title'], 'UTF-8') ? $item['title'] : utf8_encode($item['title']));

これは、PHP 5.4.17 のローカル セットアップと、PHP 5.3.xx を持つ共有ホストで動作します。

しかし、このアプリを Heroku (PHP 5.3.10 を使用) にデプロイすると、ログに次のエラーが記録されます。

2012-12-26T09:55:28+00:00 app[web.1]: [Wed Dec 26 09:55:27 2012] [error] [client 10.119.79.71] PHP Fatal error: Call to undefined function mb_check_encoding() in /app/www/includes/utils.php on line 44, referer: https://imagemash.herokuapp.com/

php.net docsによると、PHP 5 >= 5.1.3mb_check_encoding でサポートされています。

私は何を間違っていますか?それとも、私のアプリが古いバージョンの PHP を使用しているのでしょうか? この機能を有効にするために設定する必要がある php.ini 値もないようです。

4

5 に答える 5

4

DCoder のポインターとhttp://chrismcleod.me/2011/11/30/use-custom-php-extensions-on-heroku/のチュートリアルのおかげで、 https://github.comで入手可能な mbstring.so 拡張機能がインストールされました。 /wuputah/heroku-libraries

これで問題は解決しました

于 2012-12-26T17:01:46.913 に答える
1

Red Hat Linux でも同じ問題に直面しました。

mbstring 拡張機能をインストールする必要があります。インストールへのリンクは次のとおりです。

http://www.knowledgebase-script.com/kb/article/how-to-enable-mbstring-in-php-46.html

これで問題は解決しました。

ありがとうございました

于 2013-12-04T04:30:13.150 に答える