【问题标题】:Phpmyadmin showing mbstring is missingPhpmyadmin 显示 mbstring 丢失
【发布时间】:2020-10-31 02:51:02
【问题描述】:

我使用的是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...任何人请帮我解决这个问题。

提前致谢。

【问题讨论】:

标签: php mbstring


【解决方案1】:

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

【讨论】:

  • 配置文件 (php.ini) 路径 - /etc/php/7.2/fpm ...这显示在浏览器的 info.php 先生...
  • 在终端中,下面的命令给出 php --ini 配置文件 (php.ini) 路径:/etc/php/7.2/cli 加载的配置文件:/etc/php/7.2/cli/php。 ini 扫描其他 .ini 文件:/etc/php/7.2/cli/conf.d 解析的其他 .ini 文件:(无)它显示 cli/php.ini 文件正在加载,但在浏览器 info.php 中加载了配置文件正在显示 /fpm/php.ini 文件...
  • 是的,不同的路径,不同的配置。您需要在 fpm 安装中启用 mbstring。看modules.conf
【解决方案2】:

如果是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. 您还需要通过取消注释/删除 ;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. 重启apachesudo systemctl restart apache2

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

sudo phpenmod mcrypt
sudo phpenmod mbstring
sudo systemctl restart apache2

希望对你有用!!

【讨论】:

    猜你喜欢
    • 2013-09-07
    • 1970-01-01
    • 2023-01-03
    • 2018-12-11
    • 2016-10-27
    • 2013-02-19
    • 2018-05-22
    • 2020-11-19
    相关资源
    最近更新 更多