Fatal error: Uncaught Error: Call to undefined function mb_detect_encoding()

Fatal error: Uncaught Error: Call to undefined function mb_detect_encoding()

我在尝试访问 http://localhost/phpmyadmin/ 时收到以下错误:

Fatal error: Uncaught Error: Call to undefined function mb_detect_encoding() in C:\Apache24\htdocs\phpmyadmin\libraries\php-gettext\gettext.inc:177 Stack trace: #0 C:\Apache24\htdocs\phpmyadmin\libraries\php-gettext\gettext.inc(282): _encode('The %s extensio...') #1 C:\Apache24\htdocs\phpmyadmin\libraries\php-gettext\gettext.inc(289): _gettext('The %s extensio...') #2 C:\Apache24\htdocs\phpmyadmin\libraries\core.lib.php(306): __('The %s extensio...') #3 C:\Apache24\htdocs\phpmyadmin\libraries\core.lib.php(961): PMA_warnMissingExtension('mbstring', true) #4 C:\Apache24\htdocs\phpmyadmin\libraries\common.inc.php(102): PMA_checkExtensions() #5 C:\Apache24\htdocs\phpmyadmin\index.php(13): require_once('C:\Apache24\htd...') #6 {main} thrown in C:\Apache24\htdocs\phpmyadmin\libraries\php-gettext\gettext.inc on line 177

在此处查看类似主题后,我执行了以下操作:

  1. 检查(使用 info.php)我的 php.ini 文件的路径: 加载的配置文件 C:\PHP\php.ini
  2. 修改并取消注释 php.ini 中的以下行:
    • extension_dir = "c:\PHP\ext"(也试过"c:/PHP/ext")
    • 分机=php_gd2.dll
    • 分机=php_mbstring.dll
    • 分机=php_exif.dll
    • 分机=php_mysqli.dll
  3. 尝试了 32 位和 64 位 dll
  4. 确保所有 dll 都在 c:/PHP/ext 文件中,然后右键单击 > 属性 > 取消阻止它们中的每一个。
  5. 重新启动httpd.exe 多次,也重新启动了服务器。

这是我的 httpd.conf Apache 配置文件的内容:

这是我的 httpd.conf 的内容:

LoadModule php7_module C:/PHP/php7apache2_4.dll

<IfModule php7_module>
    DirectoryIndex index.html index.php
    AddHandler application/x-httpd-php .php
    PHPIniDir "C:/PHP"
</IfModule>

我一直收到同样的消息,不知道如何解决。

我是 运行 windows 10 岁,Apache 2.4-64 位,PHP7-64 位和 MysqlServer5.7。 Apache 运行 很好,PHP 也很好(不用担心访问 info.php)

谢谢。

听说Apache2.4 PHPINIDir 有一些问题。所以尝试在 http.conf

中添加 PHPIniDir "C:\PHP"