致命错误:未捕获错误:调用未定义函数mb_detect_encoding()

时间:2016-09-19 12:52:22

标签: php mysql phpmyadmin xampp wamp

我在尝试访问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
    • extension = php_exif.dll
    • 延长= php_mysqli.dll
  3. 尝试了32位和64位dll
  4. 确保所有dll都在c:/ PHP / ext文件中,并且右键单击>属性>取消阻止它们中的每一个。
  5. 多次重启httpd.exe,重新启动服务器。
  6. 以下是我的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-64bits,PHP7-64bits和MysqlServer5.7。 Apache运行正常,PHP也是如此(无需担心访问info.php)

    感谢。

1 个答案:

答案 0 :(得分:1)

我听说Apache2.4在PHPINIDir方面存在一些问题。因此,请尝试在http.conf中添加PHPIniDir "C:\PHP"