Pages

2011/03/01

phpのMySQLモジュールを差し替える

ただしSharedに限る。
 

LAMPな環境でMySQLだけ差し替えたりすると、しばしばこういう目に合う。
 


phpMyAdmin さんからの警告。
PHP MySQL ライブラリのバージョン 5.0.90 が MySQL サーバのバージョン 5.1.53 と異なります。

 

このままでも動くけど気持ち悪いのでMySQL関連のライブラリだけ差し替えます。
 

 

configureしてmakeまでで止めとく


php -v で今のphpのバージョンを確認したら、ソースを落として展開します。
# php -v
PHP 5.2.17 (cli) (built: Jan 7 2011 08:49:48)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies

 


config.niceはこうなった、勢いで"make install"してもいいように、prefixを指定しています。
#! /bin/sh
#
# Created by configure

'./configure' \
'--prefix=/tmp' \
'--with-mysql=shared' \
'--with-mysqli=shared' \
'--with-pdo-mysql=shared' \
"$@"

 


make して、モジュールを作成。
# make
-- snip --
# ls -1 modules/
mysql.a
mysql.la
mysql.so
mysqli.a
mysqli.la
mysqli.so
pdo_mysql.a
pdo_mysql.la
pdo_mysql.so

 
 

ファイルを差し替えてhttpdをリスタート


cp /usr/lib/php/modules/mysql.so{,_bak}
cp /usr/lib/php/modules/mysqli.so{,_bak}
cp /usr/lib/php/modules/pdo_mysql.so{,_bak}

\cp ./modules/mysql.so /usr/lib/php/modules/
\cp ./modules/mysqli.so /usr/lib/php/modules/
\cp ./modules/pdo_mysql.so /usr/lib/php/modules/

service httpd restart

 


以上でOK。
 

# php -i
--snip--
MySQL Support => enabled
Active Persistent Links => 0
Active Links => 0
Client API version => 5.1.53
--snip--

 

0 件のコメント:

コメントを投稿