2012-03-13 15 views
6

me sale este error:PHP que falta la función mb_strpos?

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

lo cual es extraño porque mb_strpos() fue introducido en PHP 4, y estoy corriendo 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 

Cualquier otro plazo en algo como esto y saber ¿Como arreglarlo? Busqué y no puedo resolverlo.

PS. Estoy ejecutando centOS 5.

+3

(¿Tal vez fue construido sin soporte unicode/multibyte?) –

+1

¿Incluyó la extensión mbstring? ¿Qué dice '' phpinfo() ''? Eche un vistazo a http://ch2.php.net/mbstring para más información. – ckruse

+0

¿Estás en un espacio de nombres? Es posible que deba agregar un prefijo \ a la función. – Rijk

Respuesta

13

MBStrings no es una extensión por defecto en PHP y hay que instalarlo si está ejecutando Linux tratar

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

como usuario raíz o

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

en las ventanas que tiene que edite php.ini para usar la biblioteca dll de extensión

Nota: mb_strpos aún se admite en PHP 5

+1

-1, usted está asumiendo que todos usan la misma distribución que usted –

+0

, es solo una sugerencia para la solución, ¡¡no estoy asumiendo lo que usted llama !!! –

+0

debe ser un poco más específico acerca de "linux" - hay una docena de distribuciones de Linux por ahí y solo unas pocas usan 'yum' como rpm-package-manager - en ubuntu. por ejemplo, esto sería 'agt-get'. | EDITAR: y uno no debe "!!!! 111oneeleven" ya que es grosero y juvenil. – oezi

1

Supongo que su versión de PHP no se creó con la opción "--enable-mbstring".

Puede verificar con la función phpinfo(). Debería haber una sección "mbstring". El mío tiene esto:

mbstring 

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

parece que simplemente no está instalado. favor, eche un vistazo a 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

Esta es una función básica PHP. Parece que su servidor web no tiene la extensión PHP mbstring instalada. Compruebe su phpinfo(); y busca mbstring en él.

Cuestiones relacionadas