linux+php+oracle mbstringが使えない。phpinfo画面でmbstringが表示されない

タイトルのようなエラーが発生したら、
まず、mbstring.soモジュールが追加されたか確認する。デフォルトでは使えない状態。
(下記で確認したところ、使えない)
oracle@ta-webapokin php-5.2.3]$ php -v
PHP Warning: PHP Startup: Unable to load dynamic library './mbstring.so' - ./mbstring.so: cannot open shared object file: No such file or directory in Unknown on line 0

mbstring.soが見つからなかったので、追加。
追加手順は
Linux下mbstring安装
1、用cd命令进入php的源代码目录下的etc/mbstring目录下,如“/src/php5.2.5”,即“cd /src/php5.2.5”;
2、>/usr/local/php/bin/phpize (假设php安装在/usr/local/php目录下)
3、编译配置,>./configure —with-php-config=/usr/local/php/bin/php-config
4、执行make && make install
5、之后系统会提示你mbstring.so文件所在的目录。根据php.ini中指示的extension_dir指向的目录中,将其复制过去.或将mbstring.so复制到/usr/local/php/ext目录下,在手配置参extension_dir="/usr/local/php/ext"指向mbstring.so所在目录.
6、修改php.ini,添加一句extension=mbstring.so
7、然后重启apache:运行 /service httpd restart即可完成安装。

参考:http://www.ej38.com/showinfo/linux-168742.html

mbstring.soを追加したはずなのに、phpinfoでmbstringが表示されない。
この時は
php.iniでextension_dir = "/usr/local/lib/php/extensions/"の指定(extensionの場所を指定)が正しいか確認。
再度ビルドを行い、mbstringが正常に読み込めているか確認。
[oracle@ta-webapokin ~]$ php -m
[PHP Modules]
ctype
date
dom
filter
hash
iconv
json
libxml
mbstring
oci8
pcre
PDO
PDO_OCI
pdo_sqlite
posix
Reflection
session
SimpleXML
SPL
SQLite
standard
tokenizer
xml
xmlreader
xmlwriter
[Zend Modules]

上記で、mbstringが表示されたが、WEBシステムのlogin画面で、画面が真っ白になりデザインが表示できない。また文字化けするなどエラーが発生した。
解決方法php.iniで下記のように修正
;mbstring.language = Japanese
;mbstring.substitute_character = auto;
;mbstring.detect_order = auto
mbstring.encoding_translation = Off
mbstring.http_input = pass
mbstring.http_output = pass
;mbstring.internal_encoding = EUC-JP

linux+php+oracleは超面倒臭い…一苦労しました~ふ—;

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License