読者です 読者をやめる 読者になる 読者になる

初めてのシステムと日記

システムも日記も初めてです。

研修(phpとmysqlの接続エラー)

phpmysql_connect()でmysql接続しようとしたら、

Fatal error: Call to undefined function mysql_connect() in 〜〜〜

と出た。mysqlに接続できないらしい。


調べたらプログラムのミスではなく、設定側で追加設定する必要。

どうやらphpmysqlを使えない設定になっている。


phpinfoで調べると、、、

./configure --with-mysql

が抜けていた。phpインストール時にmysqlを使える設定をしていなかった。


なのでphpをリコンパイルする。


リコンパイルは、

# make distclean      ← 配布に含まれていたファイルだけを残して、他のファイルを消去
# ./configure 〜〜〜
# make
# make install

で行う。


しかし、./configureを実行し処理が終わる際に、

configure: error: Cannot find MySQL header files 〜〜〜
Note that the MySQL client library is not bundled anymore!

と出た。調べてみるとMySQLのインストールでdevelもインストールする必要がある。


以前MySQLをインストールしたときは、最小インストール(serverとclient)だった。

なのでdevel.rpmをwgetしてインストールする。

# wget http://dev.mysql.com/get/Downloads/MySQL-5.0/MySQL-devel-5.0.82-0.i386.rpm/from/http://ftp.jaist.ac.jp/pub/mysql/
# rpm -ivh MySQL-devel-5.0.82-0.i386.rpm

これで./configure --with-mysqlすると通った!


で続いてmakeする。

しかし今度はmakeでエラー発生。

gcc: /usr/lib/mysql/libmysqlclient.so: No such file or directory
make: *** [libphp5.la] エラー 1

libmysqlclient.soがないらしい。


でこれをいれるにはMySQL-sharedをインストールする。

# wget http://dev.mysql.com/get/Downloads/MySQL-5.0/MySQL-shared-5.0.82-0.i386.rpm/from/http://ftp.jaist.ac.jp/pub/mysql/
# rpm -ivh MySQL-shared-5.0.82-0.i386.rpm


念のため、もう一度make distcleanしてからリコンパイル。

そうするとmake installまで出来た。


これでもう一度phpmysql_connect()をブラウザで確認したら接続できた!

MySQLに接続するパスワードが違いますってエラーが出たけど。。。