Cannot Initialize mbstring with PHP 7

2019-01-14 14:57发布

问题:

Whenever I try to access phpMyAdmin, I receive the following error:

"The mbstring extension is missing. Please check your PHP configuration."

I am running a LEMP stack on a CentOS 7 server. I have elected to use PHP 7 for this installation. I have not experienced this error on identical set-ups running earlier versions of PHP.

extension_loaded('mbstring') returns false even though mbstring.ini (/etc/php.d/) contains:

; Enable mbstring extension module
extension=mbstring.so

I am 100% sure that the mbstring module is installed on my server.

I'm completely stumped so if anyone has any ideas whatsoever, please let me know. Thanks.

回答1:

For those who have debian :

 sudo apt-get install php7.0-mbstring

Otherwise in centos (tested in centos 6.6)

sudo yum install php70w-mbstring

and as @mpen said you can activate it

sudo phpenmod mbstring


回答2:

A solution was reached with the following method:

I put extension=mbstring.so inside php.ini even though that is no longer the method PHP uses by default to load modules.

From php.ini itself:

Note: packaged extension modules are now loaded via the .ini files found in the directory /etc/php.d; these are loaded by default.

It seemed to fix my problem. I would still be interested to hear if anyone else has a different take on this matter.



回答3:

For PHP7 on centos

try this yum install php70-mbstring



回答4:

I had this problem for a long time. I found the correct way (for me) to correct it... and it's fairly simple :)

Juste add "universe" on the xenial-updates

# cat /etc/apt/sources.list.d/*
deb [arch=amd64] http://fr.archive.ubuntu.com/ubuntu/ xenial-backports main
deb [arch=amd64] http://fr.archive.ubuntu.com/ubuntu/ xenial main universe
deb [arch=amd64] http://fr.archive.ubuntu.com/ubuntu/ xenial-proposed main
deb [arch=amd64] http://security.ubuntu.com/ubuntu xenial-security main
deb [arch=amd64] http://fr.archive.ubuntu.com/ubuntu/ xenial-updates main **universe**


回答5:

run sudo apt-get update, sudo apt-get upgrade before installing with sudo apt-get install php-mbstring.

I had the same problem today and found this way.