2

在 CLI 中运行脚本我收到此错误:

PHP Fatal error:  Call to undefined function mb_detect_encoding() <script path/name here>

一些背景。

PHP 5.3.10 (cli) (built: Feb  2 2012 20:27:51)

使用 MySQL 和 Apache2.2(目前都可以使用)运行 Windows 7(称之为工作约束)

我知道这个函数是模块 php_mbstring.dll 的一部分

我将尝试一个详尽的清单来加载它:

  • 已验证的 php.ini 位置;phpinfo 表示加载的文件在c:\php;配置文件位于 c:\windows 中(两个位置 - 都具有相同的 .ini 文件)
  • php.ini 文件有未注释的 extension=php_mbstring.dll
  • 扩展目录在两个 php.ini 文件中都指定为 extension_dir = "c:\php\ext"
  • 指定的文件 (php_mbstring.dll) 实际上存在于指定的目录 c:\php\ext\php_mbstring.dll
  • 虽然我不明白为什么这会有效,但我已将 dll 移至 php 根目录以及 windows32 目录,如在其他论坛上看到的那样
  • 我确实以相同的方式加载了其他功能性非核心模块(例如mysqli)而没有问题

可能值得注意的是,在加载的配置文件 (c:\php\php.ini) 中取消注释扩展行后,会出现一个附加的系统错误“无法启动,因为您的计算机中缺少 php5.dll”对话框。我尝试在两者中都取消注释并得到相同的错误。

我怀疑有一种方法可以在不重新编译或重新安装 PHP 的情况下加载此模块。

4

0 回答 0