2012-03-13 27 views
6

私はこのエラーを取得する:PHPにmb_strpos関数がありませんか?

PHP Fatal error: Call to undefined function mb_strpos() in /my/file.php 

mb_strpos()は、PHP 4で導入されたため、奇数である、と私は他のPHP 5.3.3

$ php -v 
PHP 5.3.3 (cli) (built: Feb 22 2012 19:38:14) 
Copyright (c) 1997-2010 The PHP Group 
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies 

誰もがこのような何かにぶつかると知って実行しているよどのどのようにそれを修正するには?私は検索し、私はそれを把握することはできません。

PS。私はcentOS 5を実行しています。

+3

(ユニコード/マルチバイトのサポートなしで構築されたのかもしれません) –

+1

mbstring拡張機能を追加しましたか? '' phpinfo() ''とは何ですか?詳細はhttp://ch2.php.net/mbstringを見てください。 – ckruse

+0

あなたは名前空間にいますか?関数の先頭に\を付ける必要があります。 – Rijk

答えて

13

MBSTRINGは、PHPのデフォルトの拡張子ではなく、あなたがしなければならない窓に または

apt-get install php-mbstring.x86_64 # for Debian derivative systems 

rootユーザーとして

yum install php-mbstring.x86_64 # for RedHat derivative systems 

を試してみてくださいあなたはLinuxを実行している場合は、それを をインストールする必要があります拡張DLLライブラリを使用するようにphp.iniを編集する

注:mb_strposはPHP 5で引き続きサポートされています

+1

-1あなたは誰もが同じディストリビューションを使用していると仮定しています –

+0

それは解決策への示唆に過ぎません。 –

+0

あなたは "linux"についてより具体的に説明する必要があります。そこには十数個のLinuxディストリビューションがあり、ubuntuではrpm-package-managerとして 'yum'を使用している人はごくわずかです。例えば、これは 'agt-get'です。 |編集:それは失礼で少年のように "!!!! 111oneeleven"しないでください。 – oezi

1

PHPのバージョンが "--enable-mbstring"オプションで構築されていないと思います。

phpinfo()機能で確認できます。 「mbstring」セクションがあるはずです。私の持っているのは:

mbstring 

Multibyte Support enabled 
Multibyte string engine libmbfl 
HTTP input encoding translation disabled 
1

単純にインストールされていないようですね。 the documentationを見てみてください。

mbstring is a non-default extension. This means it is not enabled by default. You must explicitly enable the module with the configure option. [...]

-1

これは、基本的なPHP機能です。 Webホストにmbstring PHP拡張機能がインストールされていないようです。 phpinfo()を確認してください。その中でmbstringを探します。

関連する問題