显示 mbstring 丢失的 Phpmyadmin

Phpmyadmin showing mbstring is missing

我使用的是PHP 7.2版本,模块列表如下:

php -m

[PHP Modules]

bz2
Core
ctype
curl
date
dom
exif
fileinfo
filter
gd
gettext
hash
iconv
intl
json
libxml
mbstring
mcrypt
openssl
pcntl
pcre
PDO
Phar
Reflection
session
SimpleXML
soap
sodium
SPL
standard
tokenizer
xml
xmlreader
xmlwriter
zip
zlib

[Zend Modules]

在这个列表中它显示 mbstring 但在浏览器的 info.php 中它没有 mbstring 当我搜索时...任何人请帮助我解决这个问题。

提前致谢。

cliapachenginx 模块有不同的配置路径,可能还有不同的配置。您的模块在 cli 上启用,但在 web.

上禁用

您需要检查您的 php.ini

如果您尝试这样做(在终端上):

$ php -a
phpinfo();

在一个点你可以看到php.ini路径。

在您的 www 目录上执行相同的操作,创建 phpinfo.php 并调用 phpinfo() 函数并检查 php.ini 路径。

可能不是相同的路径和不同的配置,因为我们有一个 ini 文件到 cliapache/nginx 模块。因此,您可以修复它,查看哪个文件正在加载模块并指向在 Web 上启用该模块。

如果在不同的路径中,您可能需要在网络版上启用或安装 mbstring 模块。

考虑到您正在使用 php-fpm,您可以使用以下命令安装 mbstring 模块:

php-fpm install mbstring

如果Windows,

  1. 编辑 php.ini 文件
  2. 更新extension_dir = "ext" to extension_dir = "C:\php\ext"(可能因系统而异)
  3. ;extension=php_mbstring.dll 中删除 semicolon 并将其更改为 extension=php_mbstring.dll
  4. 您还需要通过 uncomment/remove semicolon from ;extension=php_mcrypt.dll 来启用 mcrypt。 (一般 phpmyadmin 也会给出 mcrypt 的错误)
  5. 保存您的 php.ini 文件
  6. 重新启动 apache 服务器

对于ubuntu,

  1. 打开终端
  2. 输入指令sudo apt-get install php-mbstring php7.0-mbstring php-gettext libapache2-mod-php7.0
  3. 重启apache sudo systemctl restart apache2

如果上述方法不起作用,请显式启用 mbstring 和 mcrypt 扩展:

sudo phpenmod mcrypt
sudo phpenmod mbstring
sudo systemctl restart apache2

希望对你有用!!