2012年7月12日

[mysql 15802] Re: PHPとutf8mb4

こんばんは、yokuといいます。

> MySQL-shared-compat-5.5.24-1.rhel5
MySQL-shared-compatは互換性を保つための過去のlibmysqlclient.soの詰め合わせです。
最新のlibmysqlclient.soはMySQL-sharedに入っています。
shared-compatが入っているので、過去のライブラリも導入されています。

php-mysqlでインストールされている.soファイルに対して

lddコマンドを試すと、どのモジュールを実際に使っているのかが見えます。

$ rpm -ql php-mysql
/etc/php.d/mysql.ini
/etc/php.d/mysqli.ini
/etc/php.d/pdo_mysql.ini
/usr/lib64/php/modules/mysql.so
/usr/lib64/php/modules/mysqli.so
/usr/lib64/php/modules/pdo_mysql.so

$ ldd /usr/lib64/php/modules/mysqli.so
..
libmysqlclient.so.16 => /usr/lib64/libmysqlclient.so.16
(0x00007ffcc7431000)
..
私の環境ではlibmysqlclient.so.16にリンクされていました。
MySQL5.1のクライアントライブラリです。
(5.5のライブラリは.so.18)

何の解決にもならないのですが、情報まででした。


ts. yoku//

2012年7月12日 18:40 <a2cf@xxxxx>:
>
> 藤田です。
>
> 何度もありがとうございます。
>
> > mysql コマンドと PHP の mysqli 拡張モジュールが同じライブラリとリンクしているとは限りません。
> > そして、mysqli->set_charset() は、libmysql に charset を伝えるものなので、
> > libmysql が古ければ新しい charset に失敗することも(多分)あります。
> > (実際そのような状態に出くわしたことは無いですが・・・)
> >
> > rpm -qa | grep -i mysql
>
> 上記コマンドで確認したところ、やはり5.5.24のものしかないようでした。
>
> MySQL-shared-5.5.24-1.rhel5
> MySQL-server-5.5.24-1.rhel5
> MySQL-shared-compat-5.5.24-1.rhel5
> MySQL-client-5.5.24-1.rhel5
>
>
> > PHP 自体をソースからビルドするか、mysqli 拡張モジュールだけでも
> > ソースからビルドすれば解決するかもしれません。
>
> やはりそれしかなさそうですか。
> 今回のサーバはRPMを使うというのがもともとの要求のため、ソースからのビルドは実施が難しいのですが、
> また時間がありましたテストしてみたいと思います。
> アドバイスありがとうございました。
>
>
> 何とぞよろしくお願いいたします。
>
>
>
>


投稿者 xml-rpc : 2012年7月12日 18:55
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/111258
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。