1. ホーム
  2. php

[解決済み] 内蔵の mb_internal_encoding メソッドを呼び出すことができませんか?

2022-02-17 15:16:35

質問

CentOS 5.3 VMware 'box'にindeferoをインストールしようとしているのですが、問題が発生しました。 インストールのかなり早い段階でエラーが発生し、このように絞り込むことができました。

[root@code /var/www/html]# cat x.php
 <?php
     mb_internal_encoding("UTF-8");
 ?>
[root@code /var/www/html]# php x.php
PHP Fatal error:  Call to undefined function mb_internal_encoding() in 
/var/www/html/x.php on line 2

このスクリプトをApache経由でhttpで呼び出すと、同じエラーが発生します。 現在 PHPマニュアル mb_internal_encoding 関数 は、PHP 5 ではビルトインであるべきです。

CentOS 5.3 i386 (Linux code 2.6.18-53.1.21.el5 #1 SMP Tue May 20 09:34:18 EDT 2008 i686 i386 GNU/Linux) で、PHP 5.2.9 をインストールしたのですが、どうでしょうか?

[root@code /var/www/html]# php -v
PHP 5.2.9 (cli) (built: Jul  8 2009 06:03:36)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies

再確認しました:selinuxは(今のところ)無効になっています。

どうしたらいいですか?

解決方法は?

mbstring は、デフォルトでは有効になっていない非デフォルトの拡張機能です ;以下を参照してください。 このページ のマニュアルを参照してください。

<ブロッククオート

インストール方法

mbstringは非デフォルトの拡張機能です。 つまり、デフォルトでは有効になっていません。 デフォルトでは デフォルトでは を設定します。 詳しくはインストール編をご覧ください

そのため、その拡張機能を有効にするには、php.ini ファイルを修正する必要があるかもしれません (そして Apache を再起動すると、修正内容が反映されます)。


私はCentOSを使っていないのですが、以下のような方法で、まず拡張機能をインストールする必要があるかもしれません。 (参照 このページ は、解決策を与えているように見えます) :

yum install php-mbstring

(パッケージ名が少し違うかもしれないので、yum search で取得してください :-) )