【问题标题】: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版本?
  • 要么确保 php.exe 在你的 windows 路径中,要么从 php 目录运行它
  • 正如 Mark Ba​​ker 所说,有些系统使用不同的 php.ini 文件作为命令行 PHP 与 web 服务器调用的文件相比,所以我会将其作为网页而不是从命令行运行。在您的 webroot 中创建一个包含 <?php phpinfo(); ?> 的新文件,并通过您的 Web 浏览器加载它可能比在命令行上执行它更好。

标签: php mysql apache phpmyadmin


【解决方案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 是非常无益的。
猜你喜欢
  • 2014-07-01
  • 2023-03-21
  • 2011-07-07
  • 2017-03-24
  • 2013-06-16
  • 2014-10-22
  • 2015-02-04
  • 2013-08-03
  • 2017-01-27
相关资源
最近更新 更多