在 Windows / WAMP 下,似乎没有任何 php_mbstring.dll 依赖于 GD2 扩展、MySQL 扩展或外部 dll/libs:
deplister.exe ext\php_mbstring.dll
php5ts.dll,OK
MSVCR110.dll,OK
KERNEL32.dll,OK
deplister.exe ext\php_gd2.dll
php5ts.dll,OK
USER32.dll,OK
GDI32.dll,OK
KERNEL32.dll,OK
MSVCR110.dll,OK
无论 php_mbstring 已经需要什么,它都是内置的(静态编译到 DLL 中)。
调用未定义函数 mb_detect_encoding()
这个错误也是非常具体和确定性的......
该函数mb_detect_encoding()
没有失败,因为 php_gd、php_mysql、php_mysqli 或其他扩展未加载;它根本没有找到。
我猜所有报告为有效的答案(对于 Windows / WAMP),说加载其他扩展,更改 php.iniextension_dir
路径(如果这个开始错误,则不会加载任何扩展)等, 由于 a) 取消注释该extension = php_mbstring.dll
行,或 b) 重新启动 Apache 或计算机(以使更改生效),工作量更大。
在 Windows 上,大多数时候问题在于 php_mbstring.dll 是:
更深入的答案在这里:调用未定义的函数 mb_detect_encoding