致命错误:在第 177 行调用 C:\apache\htdocs\phpmyadmin\libraries\php-gettext\gettext.inc 中的未定义函数 mb_detect_enco

Posted

技术标签:

【中文标题】致命错误:在第 177 行调用 C:\\apache\\htdocs\\phpmyadmin\\libraries\\php-gettext\\gettext.inc 中的未定义函数 mb_detect_encoding()【英文标题】:Fatal error: Call to undefined function mb_detect_encoding() in C:\apache\htdocs\phpmyadmin\libraries\php-gettext\gettext.inc on line 177致命错误:在第 177 行调用 C:\apache\htdocs\phpmyadmin\libraries\php-gettext\gettext.inc 中的未定义函数 mb_detect_encoding() 【发布时间】:2014-04-11 20:23:54 【问题描述】:

所以我试图让 phpmyadmin 在 Windows 7 上运行,我已经完成并安装了所有正确的程序/文件(apache、mysql、php 等),并且我在右侧有 phpmyadmin 文件夹放在我的目录中,这样当目录索引设置为 index.html 时,当我尝试在浏览器中访问它时,它会显示整个目录。但是,当我将目录切换到 index.php 时,出现此错误:

Fatal error: Call to undefined function mb_detect_encoding() in C:\apache\htdocs\phpmyadmin\libraries\php-gettext\gettext.inc on line 177

我查看了一些支持页面和所有内容(例如 this one),但所有建议似乎都没有帮助我。他们中的大多数人都在谈论编辑 /php 文件夹中的 php.ini 文件,但我什至没有,我有一个 php.ini-developmentphp.ini-production 文件,仅此而已。建议??我还尝试重新安装 php 以查看是否是安装问题...没有用。请帮忙!

【问题讨论】:

使用 phpinfo() 告诉你 php 使用哪个文件作为它的 ini 文件 你安装了什么php版本? 可能重复:***.com/questions/17204437/… 要么确保 php.exe 在你的 windows 路径中,要么从 php 目录运行它 正如 Mark Ba​​ker 所说,有些系统使用不同的 php.ini 文件作为命令行 PHP 与 web 服务器调用的文件相比,所以我会将其作为网页而不是从命令行运行。在您的 webroot 中创建一个包含 <?php phpinfo(); ?> 的新文件,并通过您的 Web 浏览器加载它可能比在命令行上执行它更好。 【参考方案1】:

将 php.ini-development 重命名为 php.ini 并启用/添加

extension=mysqli.dll
extension=mbstring.dll 

修改后重启 apache

【讨论】:

如何将其添加到文件中?有什么特别的语法吗?或者我可以照原样复制和粘贴 复制或替换即可。 文件中的任意位置?我需要吗?在它之前,因为大多数其他行也有它? 如果文件中已经存在前缀;,删除;,则表示注释,将被忽略。删除前缀注释 ; 将导致 PHP 将其包含为扩展之一 所以我找到了这个:;extension=php_intl.dll ;extension=php_imap.dll ;extension=php_interbase.dll ;extension=php_ldap.dll extension=php_mbstring.dll ;extension=php_exif.dll ; Must be after mbstring as it depends on it ;extension=php_mysql.dll extension=php_mysqli.dll ;extension=php_oci8.dll ; Use with Oracle 10gR2 Instant Client ;extension=php_oci8_11g.dll ; Use with Oracle 11gR2 Instant Client ;extension=php_openssl.dll 并取出了 ;按照你说的,它仍然不起作用,但那些不是你说的那些【参考方案2】:

此问题是由于某些扩展程序被阻止且扩展程序目录未完全设置所致。

在php.ini 文件中extension_dir= 需要设置为“C:\php\ext”或php ext 文件所在的任何位置。此外,以下扩展名也需要在 php.ini 文件中取消注释

extension=php_gd2.dll extension=php_mbstring.dll extension=php_exif.dll extension=php_mysqli.dll

另一件有帮助的事情是进入 php\ext 文件夹,右键单击上述每个 exts 并选择 unblock 并确保它们未设置为只读。

【讨论】:

你救了我的命...!我建议在 W7 上遇到此问题的每个人都完全按照您在此处所说的...包括到 \ext 的显式路径(带有反斜杠)。您可以通过右键单击并转到属性选项卡来“取消阻止”。更笼统地说,当 SO 贡献者假设海报在 *nix 盒子上出现这样的问题时,这很烦人:在 Windoze 可怕的垃圾上工作通常更麻烦(我的观点),假装全世界现在都转向 Linux 是非常无益的。

以上是关于致命错误:在第 177 行调用 C:\apache\htdocs\phpmyadmin\libraries\php-gettext\gettext.inc 中的未定义函数 mb_detect_enco的主要内容,如果未能解决你的问题,请参考以下文章

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

致命错误:在第 7 行调用非对象上的成员函数 prepare()。我想不通,为啥会出现此错误?

PHP 致命错误:在第 1 行 Laravel Artisan Tinker 的 eval() 代码中调用未定义函数 table()

致命错误:在第 5 行调用 C:\wamp\www\Test-CI\application\views\layout.php 中未定义的函数 base_url()

致命错误:在第 454 行调用 /etc/apache2/htdocs/sites/all/modules/smart_ip/includes/smart_ip.utility.inc 中未定义的函数

无法在第 21 行打开流 wp-settings.php 致命错误