【问题标题】:"Fatal Error: Call to undefined function mb_detect_encoding()" when trying to run phpMyAdmin 4.2.7 on IIS 8 with PHP 5.4.30尝试使用 PHP 5.4.30 在 IIS 8 上运行 phpMyAdmin 4.2.7 时出现“致命错误:调用未定义函数 mb_detect_encoding()”
【发布时间】:2014-08-01 19:08:01
【问题描述】:

我安装了 PHP 5.4.30,并且使用 FastCGI 模块和 IIS 8(在 Windows 8.1 上)运行良好。我安装了 MySQL 并想用 phpMyAdmin 管理它,但是,每当我尝试访问该页面时都会收到此错误:

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

我看到的许多旧线程建议在 php.ini 中添加扩展,但在更高版本的 php 中,php.ini 文件变为php.ini-productionphp.ini-development。每当我尝试修改这些文件或创建 php.ini 文件时,在尝试访问其他 php 页面时都会收到错误 500。我还看到了许多与 Xampp / Apache 相关的解决方案,但它们似乎都不适用于 IIS 8(我发现)。

提前感谢您的任何建议!

【问题讨论】:

  • 然后查看服务器的错误日志以了解有关 500 的详细信息。
  • 我可以从日志中获得的最详细信息是这是一个 500.0 错误,即“发生模块或 ISAPI 错误”。据微软称。对此有何建议?

标签: php mysql iis phpmyadmin


【解决方案1】:

您可能需要安装 php_mbstring.dll 文件。你可以在PHP Windows Extensions page找到它

【讨论】:

  • 您链接的页面说您需要将扩展​​名添加到 php.ini 文件中,但是我应该向哪个添加; php.ini-production 还是 php.ini-development? php 文档似乎还没有针对 ini 文件的更改进行更新。
  • 使用 phpinfo();并查看加载了哪个配置文件
  • 根据phpinfo,没有加载配置文件(screenshot)我需要将php.ini-production或development重命名为php.ini吗?
  • 在大多数 WAMP 堆栈中,您通常将 DLL 放入正确的目录中,然后取消注释 php.ini 中的行。您提到的文件作为“启动”文件包含在内。真正的php.ini 就是这样命名的。
  • 我已将我的php.ini-production 文件重命名为php.ini,设置我的扩展目录,并将mbstring 扩展添加到php.ini(已经下载)。现在我在访问的任何 PHP 页面上都会收到错误 500.0,包括我的 phpinfo() 页面。我找到的唯一解决方案是重新安装 php,这让我遇到了和以前一样的问题。
猜你喜欢
  • 2012-11-01
  • 2015-02-04
  • 2013-06-16
  • 2017-03-24
  • 2014-10-22
  • 2017-01-27
  • 2014-04-11
  • 2013-08-03
  • 2014-07-01
相关资源
最近更新 更多