Instalando a extensão do PHP mbstring no PHP 5.6 CentOS 6.8

0

Estou usando o PHP 5.6 no meu servidor centos-release-6-8.el6.centos.12.3.x86_64.

Eu tenho seguido o erro de uma das minhas funções PHP.

Fatal error: Call to undefined function mb_detect_encoding() 

Então, eu tentei instalar a extensão mbstring. quando eu executo

sudo yum install php-mbstring

CLI retorna

Package php-mbstring-5.6.25-1.el6.remi.x86_64 already installed and latest version
Nothing to do

E eu também tentei "sudo yum install php56-mbstring" Isso retorna

No package php56-mbstring available. Nothing to do

Mas ainda assim, função PHP me dando esse erro e não há 'mbsting' em phpinfo ()

Eu também adiciono a seguinte linha ao httpd.conf

LoadModule php5_module modules/libphp5.so

Servidor reiniciado

Atualização:

[~]# php -v
PHP 5.6.22 (cli) (built: Jun 13 2016 11:43:51) 
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
[~]# php -m | grep mbstring
[~]# php -i | grep mbstring

Nada retorna para php -m | grep mbstring & php -i | grep mbstring

[~]# rpm -qil php-mbstring
Name        : php-mbstring                 Relocations: (not relocatable)
Version     : 5.6.25                            Vendor: Remi Collet
Release     : 1.el6.remi                    Build Date: Wed 31 Aug 2016 18:33:05 BST
Install Date: Mon 05 Sep 2016 16:26:05 BST      Build Host: builder.remirepo.net
Group       : Development/Languages         Source RPM: php-5.6.25-1.el6.remi.src.rpm
Size        : 2856446                          License: PHP and LGPLv2 and BSD and OpenLDAP
Packager    : http://blog.remirepo.net/
URL         : http://www.php.net/
/etc/php-zts.d/20-mbstring.ini
/etc/php.d/20-mbstring.ini
/usr/lib64/php-zts/modules/mbstring.so
/usr/lib64/php/modules/mbstring.so
/usr/share/doc/php-mbstring-5.6.25
/usr/share/doc/php-mbstring-5.6.25/libmbfl_LICENSE
/usr/share/doc/php-mbstring-5.6.25/oniguruma_COPYING
/usr/share/doc/php-mbstring-5.6.25/ucgendat_LICENSE

[~]# rpm -qa 'php*'
php-pecl-zip-1.13.4-1.el6.remi.5.6.x86_64
php-pecl-jsonc-1.3.10-1.el6.remi.5.6.x86_64
php-mbstring-5.6.25-1.el6.remi.x86_64
php-common-5.6.25-1.el6.remi.x86_64
    
por Sadee 05.09.2016 / 16:11

1 resposta

2

A instalação de extensões / módulos PHP via RPM instalará os arquivos da biblioteca em /usr/lib64/php/modules/ . A execução de php -i |grep ^extension_dir mostra o diretório de extensões atualmente configurado.

Um diretório de extensão /usr/local/lib/php/extensions/no-debug-non-zts-20131226 indica que, em algum momento no passado, o PHP foi instalado a partir da origem e que um arquivo php.ini relacionado a essa instalação de origem está sendo usado em vez do /etc/php.ini fornecido pelo php-common package.

Para resolver esse problema, você deve remover os restos dessa instalação de origem. Infelizmente, o Makefile fornecido com o código-fonte do PHP não inclui uma meta uninstall , portanto você não pode simplesmente executar make uninstall . Sugiro usar o comando find para rastrear esses arquivos pela data de modificação deles.

    
por 06.09.2016 / 13:25