丰宁有包装盒的公司吗:phpMyAdmin的mbstring问题

来源:百度文库 编辑:偶看新闻 时间:2024/04/29 21:57:45
操作环境:
Fedora Core 3
Apache/2.0.52 (built: Oct 15 2004 11:39:29 )
PHP 4.3.9 (cgi) ( built: Oct 20 2004 14:52:04 )
phpMyAdmin 2.6.4-pl3

今天打开phpMyAdmin突然出现如下红字警告:

linux PHP 的扩展设置mbstring, 而当前系统好像在使用宽字符集。没有 mbstring 扩展的 phpMyAdmin 不能正确识别字符串,可能产生不可意料的结果.

英文即是:The mbstring PHP extension was not found and you seem to be usingmultibyte charset. Without mbstring extension phpMyAdmin is unable tosplit strings correctly and it may result in unexpected results.

==================================================================
解决方法:安装 php-mbstring-4.3.9-3.i386.rpm 包,重启apache即可!
==================================================================

过程:

搜索了一下,好像是很常见的问题,但大多是windows平台下的解决方法:
windows平台:
修改php.ini文件,去掉 ;extension=php_mbstring.dll 前面的分号。

unix平台:
打开/etc/php.ini
把 ;extension=php_mbstring.so 改成 extension=php_mbstring.so 。

但我的fc3的/etc/php.ini文件里只有:

[mbstring]
; language for internal character representation.
;mbstring.language = Japanese

; internal/script encoding.
; Some encoding cannot work as internal encoding.
; (e.g. SJIS, BIG5, ISO-2022-*)
;mbstring.internal_encoding = EUC-JP

; http input encoding.
;mbstring.http_input = auto

; http output encoding. mb_output_handler must be
; registered as output buffer to function
;mbstring.http_output = SJIS

; enable automatic encoding translation accoding to
; mbstring.internal_encoding setting. Input chars are
; converted to internal encoding by setting this to On.
; Note: Do _not_ use automatic encoding translation for
;        portable libs/applications.
;mbstring.encoding_translation = Off

; automatic encoding detection order.
; auto means
;mbstring.detect_order = auto

; substitute_character used when character cannot be converted
; one from another
;mbstring.substitute_character = none;

; overload(replace) single byte functions by mbstring functions.
; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(),
; etc. Possible values are 0,1,2,4 or combination of them.
; For example, 7 for overload everything.
; 0: No overload
; 1: Overload mail() function
; 2: Overload str*() functions
; 4: Overload ereg*() functions
;mbstring.func_overload = 0

;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
;
; If you wish to have an extension loaded automatically, use the following
; syntax:
;
;    extension=modulename.extension
;
; For example:
;
;    extension=msql.so
;
; Note that it should be the name of the module only; no directory information
; needs to go here.   Specify the location of the extension with the
; extension_dir directive above.


;;;;
; Note: packaged extension modules are now loaded via the .ini files
; found in the directory /etc/php.d; these are loaded by default.
;;;;

; Directory in which the loadable extensions (modules) reside.
extension_dir = /usr/lib/php4



extension_dir = /usr/lib/php4   应该是个关键噢。里面放置了扩展模块。

又找到个方法:
说是要重新编译安装php:
# ./configure --enable-mbstring

可是我喜欢系统自带安装的,这样自己编译好麻烦啊...

搜索英文信息,找到:
# yum install php-mbstring

哈,肯定是它了!找来FC3第四张光盘里的php-mbstring-4.3.9-3.i386.rpm ,安装,重启apache,搞定!