PHPKonf: Istanbul PHP Conference 2017


mbstring 不是一个默认扩展。这意味着它默认没有被激活。 你必须在 configure 选项中显式激活该模块。 详情参见安装这一节。

以下是涉及到 mbstring 的相关配置选项。

  • --enable-mbstring :激活 mbstring 函数。 要使用 mbstring 函数必须启用这个选项。

    libmbflmbstring 是必要的。 libmbfl 被捆绑到了 mbstring。 如果系统已安装 libmbfl--with-libmbfl[=DIR] 可以指定使用已安装的库。

    自 PHP 4.3.0 起,除了日文外,mbstring 还提供了对简体中文、正体中文、韩文及俄文的增强支持。

    对于 PHP 4.3.3 或之前版本,你还要为 LANG 参数提供以下选项中的任意一个,--enable-mbstring=LANG--enable-mbstring=cn 启用简体中文的支持, --enable-mbstring=tw 启用正体中文的支持, --enable-mbstring=kr 启用韩文的支持, --enable-mbstring=ru 启用俄文的支持,及 --enable-mbstring=ja 启用日文的支持(默认)。 要激活所有支持的编码,使用 --enable-mbstring=all


    自 PHP 4.3.4 起,--enable-mbstring 可以激活所有 libmbfl 支持的编码。

  • --enable-mbstr-enc-trans :使用 mbstring 转换引擎来转换 HTTP 输入字符的编码。 如果启用了这个功能,HTTP 输入字符编码可能将自动转换成 mbstring.internal_encoding


    自 PHP 4.3.0 起,这个 --enable-mbstr-enc-trans 选项已被运行时设置 mbstring.encoding_translation 淘汰并替换。 当它设置为 On 的时候,将激活 HTTP 输入字符编码的转换(默认是 Off)。

  • --disable-mbregex :禁用正则表达式函数中多字节字符的支持。

add a note add a note

User Contributed Notes 5 notes

kurdtpage at gmail dot com
4 months ago
For Linux Mint using PHP 7:
sudo apt-get install php7.0-mbstring

and don't forget to run:
sudo service apache2 restart
kacz at kaczmarowski dot com
7 years ago
Fedora 9 -- yum install php-mbstring then httpd -k restart to freshen the environment.

[EDIT BY danbrown AT php DOT net: This is true for all Red Hat Linux-based distributions using RPM and the `yum` package manager; this includes RHEL, Fedora, CentOS, Mandriva, and Intrinsic Linux, among others.]
1 year ago
mbstring is part of the libapache2-mod-php5 package in Debian. See:
tom at ritter dot vg
8 years ago
To compile with the mbstring option in gentoo, use the 'unicode' USE flag.
jmckenna at gatewaygeomatics dot com
7 years ago
The mb_split() function requires PHP to be compiled with --enable-mbregex (as of PHP 5.3.0).

To Top