Apache2/MySQLでPHP 5.3.8を実行しているサーバー(Ubuntu 11.10 x64)があります。現在、特定の文字エンコードを行う必要があるプロジェクトに取り組んでいますが、マルチバイト(mb_ *関数)のいずれも機能していないことがわかりました。
ただし、phpinfo()を見ると、マルチバイトサポートが有効になっていることがわかります。
私はapt-get install php5-mbstring、php-mbstring、php-multibyteなどのようなものを試しましたが、どれもうまくいかないようです。
誰も私にこれを正しい方向に向けることができますか?前もって感謝します!
./configure --enable-mbstring
奇妙なことに、phpinfo()は既に有効になっていることを示しています。以前はなぜ機能しなかったのかわかりません:/
新しいLinuxサーバーの多くにはPHPがデフォルトでインストールされています。シンプルな解決策はphp-mbstringをインストールすることです。
Red Hatフレーバー(CentOS、Fedoraなど)では、yum install php-mbstringを使用できます。
必ずApacheサーバーを再起動してください。 RHフレーバーでservice httpd restartを使用します。
インストールの場合、php5.6はneilsimp1のソリューションに似ています:
ランニング Sudo apt-get install php7.0-mbstring
その後 Sudo service php7.0-fpm
再起動は私のためのトリックをしました。
Sudo apt-get install php5.6-mbstring
その後、Apacheサービスを再起動します
Sudo service Apache2 restart.
時々この種のエラーを受け取る人々:致命的なエラー:188行目の/public_html/this/this.phpの未定義関数mb_convert_encoding()を呼び出します。通常、この種のエラーはPHP SitesとPHPフレームワークも。
PHPサーバーにインストールされていないmbstring。
解決 :
私の場合、php.iniファイルの; extension = php_mbstring.dllのコメントを外すだけで、問題は解決しました。
コメントを外した後、Apacheサーバーを再起動することを忘れないでください; extension = php_mbstring.dll
このブログから取られたコード: http://chandreshrana.blogspot.in/2016/01/call-to-undefined-function.html