Установка расширения PHP mbstring в PHP 5.6 CentOS 6.8

Я использую PHP 5.6 на моем centos-release-6-8.el6.centos.12.3.сервер архитектуру x86_64.

я получил следующую ошибку от одной из моих функций PHP.

Fatal error: Call to undefined function mb_detect_encoding() 

Итак, я попытался установить расширение mbstring. когда я выполняю

sudo yum install php-mbstring

CLI возвращает

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

и я так же попробовал " sudo yum install php56-mbstring"
Это возвращает

No package php56-mbstring available. Nothing to do

но все же, PHP функция дает мне эту ошибку и нет' mbsting ' в phpinfo()

Я тоже добавьте следующую строку в httpd.conf

LoadModule php5_module modules/libphp5.so

Сервер Перезапущен

обновление:

[~]# 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

ничего не возвращается в 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
29
задан Sadee
30.11.2022 6:34 Количество просмотров материала 2426
Распечатать страницу

1 ответ

установка расширений/модулей PHP через RPM установит файлы библиотеки в /usr/lib64/php/modules/. Running php -i |grep ^extension_dir показывает каталог расширения, настроенный в данный момент.

каталог расширений /usr/local/lib/php/extensions/no-debug-non-zts-20131226 указывает, что на каком-то этапе в прошлом PHP был установлен из исходного кода и что a php.ini файл, относящийся к этой исходной установки в настоящее время используется вместо /etc/php.ini представленной php-common пакета.

чтобы решить эту проблему, необходимо удалите остатки этой исходной установки. К сожалению, файл Makefile, поставляемый с исходным кодом PHP, не содержит uninstall цель, так что вы не можете просто запустить make uninstall. Я бы предложил использовать find команда для отслеживания этих файлов по дате их изменения.

2
отвечен Anthony Geoghegan 2022-12-01 14:22

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх