CentOS4で、mysqldが消えてしまいました。


rpgでmysqlやphpが入っていたのですが、
yumでmysqlを4から5にし、
phpも4から5にしました。

しかし、phpからmysqlに接続する際に

Call to undefined function mysql_connect()

というエラーが発生します。
php.iniには、extension=php_mysql.dllが無かったため追記し、
extensionディレクトリに、dllを入れてみましたが、エラーは直りませんでした。

そうこうしているうちに、chkconfig --list したところ、
mysqldが消えてしまっていました。
起動しようにも、パスが見つからなくなってしまいました。


現状では、phpは正常に動いています。

phpのconfigureオプションは、専用サーバーの初期状態で沢山指定されていて、
yumで再インストールしてもここは変わりません。
この中で--without-mysql 等がありました。


この状態から、
mysqlを、phpから操作するようにするためには、どのようにすればいいのでしょうか?
アドバイス頂けますと助かります。

php5 mysql5 centos4です。

回答の条件
  • 1人10回まで
  • 登録:2008/02/15 06:14:43
  • 終了:2008/02/15 17:12:07

回答(2件)

id:bayan No.1

bayan回答回数99ベストアンサー獲得回数132008/02/15 08:32:34

ポイント50pt

mysqlとphpのインストール状況を確認してみてください。

rpm -qa | grep mysql

rpm -qa | grep php


chkconfig --list で mysqld が見つからないのは、mysql-server が

インストールされていないためではないかと思います。


Call to undefined function mysql_connect() については、

php-mysql を入れればよいと思います。

インストールして httpd を restart してみてください。


RPMパッケージを使う場合は、--without-mysql で問題ないと思います。

php-mysql をインストールすれば mysql 関数を使えるようになります。

http://www.mysql.gr.jp/mysqlml/mysql/msg/8736


ちなみに PostgreSQLとの連携も php-pgsql という別パッケージになっています。


余談ですが、php_mysql.dll はWindowsのダイナミックリンクライブラリ(DLL)なので

CentOSなら関係ないですかね。

Linuxの共有ライブラリはファイル名に .so が付きます。

/usr/lib/php/modules/mysql.so

/usr/lib/php/modules/mysqli.so

/usr/lib/php/modules/pdo_mysql.so

id:onigirin

どうもありがとうございます。

php-mysql

mysql-server

をyumでインストールしたところ、無事動きました!

わけがわからなくなっていたので、本当に助かりました。

どうもありがとうございました!

2008/02/15 17:09:43
id:b-wind No.2

b-wind回答回数3344ベストアンサー獲得回数4402008/02/15 09:38:07

ポイント50pt

まず、

extension=php_mysql.dll

は必要ない。dll の設定は Windows 用。

この中で--without-mysql 等がありました。

こっちも CentOS では別パッケージとして提供されているだけなので問題ない。


CentOS 4 の設定は

/etc/php.d/mysql.ini

というファイルが存在し、

extension=mysql.so

と書かれていればOK。

なければ、

yum install php-mysql

とすれば導入される。


そうこうしているうちに、chkconfig --list したところ、

mysqldが消えてしまっていました。

こちらは状況がよくわからないので、とりあえず、

rpm -qa | grep -i mysql

とコマンド入力した結果を提示してください。

id:onigirin

どうもありがとうございます。

php-mysql

をyumでインストールしたところ、無事動きました!

php_mysql.dll系も削除しました。

.dllだから変な気がしてましたが、やはりいらなかったのですね。

mysql-server

も入れると、chkconfigにも出てくるようになりました。

わけがわからなくなっていたので、本当に助かりました。

どうもありがとうございました!

2008/02/15 17:11:09

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません