【CentOS 3.7でphp-mysql】


CentOS3.7でMySQLServerの4.1をrpmパッケージでインストールしました。

まず、
http://dev.mysql.com/downloads/mysql/4.1.html
から
Red Hat Enterprise Linux 3 RPM (x86)の
MySQL-client-standard-4.1.21
MySQL-server-standard
MySQL-standard-debuginfo
MySQL-devel-standard
MySQL-shared-compat
MySQL-test-standard
をインストールしました。

次に、rikenからCentOS3.7用の
php-4.3.2-33
php-imap
php-ldap
php-devel
php-mysql
をインストールしました。

この状態だと、php-mysqlの接続クライアントが、MySQL3.x系時の旧パスワードハッシュアルゴリズムを使用するため、正常に接続できません。
※MyAdminだと「Client does not support authentication protocol requested by server; consider upgrading MySQL client」

これを解決するためには、
1.php-mysqlのバージョンを上げる。
2.--old-passwords を指定して mysqld を開始する。
3.OLD_PASSWORDでパスワードを変更する。
が挙げられます。

1の場合、ソースからインストールすれば解決可能ですが、rpmでの管理は譲れません。
2と3の方法はうまくいくのですが、できれば、php-mysqlのバージョンを上げたいと思っています。

phpをsrpmからリビルドしてみましたが、うまくいきませんでした。

解決方法があればご教授願います。

回答の条件
  • 1人5回まで
  • 登録:2006/08/05 17:02:41
  • 終了:2006/08/12 17:05:02

回答(3件)

id:k12u No.1

k12u回答回数80ベストアンサー獲得回数72006/08/06 03:00:36

ポイント27pt

RPMで管理したいのとphp-mysqlを更新するのを両立するには

SRPMからビルドするのがいいでしょう。

どのようにうまくいかなかったか書けませんか。

id:keijiro

そうですよね。

もう一度、リビルドして、その際のログを

後で記述します。

----------------

今日、昨日と同じ条件でsrpmをリビルドしたのですが、

なぜかうまくいきました。

で、一旦phpを消して、

/usr/src/redhat/RPMS/i386/に作成されたphpのrpmを利用して、インストールしました。

結果は。。。

rikenで配布されているrpmと同じ結果でした。

(old passwordじゃないと使用できない)

2006/08/06 16:13:03
id:k12u No.2

k12u回答回数80ベストアンサー獲得回数72006/08/06 07:25:55

ポイント27pt

もう一案。rikenのftpサイトにある

/Linux/centos/4.3/centosplus/i386/RPMS/の

php-mysql-5.0.4-5.centos4.i386.rpm

と依存するRPMを入れるという方法もいいかもしれません。

/Linux/centos/4.3/centosplus/Readme.txt

も参考に。

#操作自体は自己責任でお願いします。

id:keijiro

この方法もあるなと思ったのですが、

最終手段かなとも思いました。

ありがとうございます。

2006/08/06 14:46:44
id:elf No.3

えるふん回答回数76ベストアンサー獲得回数82006/08/07 00:57:41

ポイント26pt

--with-mysqlを指定していると思いますが,

PHP 4の場合そのままだとPHPにバンドルされたlibmysqlclientが必ず使用されるので,別途インストールされてるMySQLのバージョンがいかなるものでも変化は出てこないと思います

#PHP 5はこの限りではありません

--with-mysql=<DIR>でディレクトリを指定することで,そちらのMySQL関連のインクルードファイルとライブラリを見に行くことになるので,

一度--with-mysql=/usrなどとしてみてはいかがでしょうか?

#mysql.comのMySQLも/usr以下(/usr/include/,/usr/lib/)にインストールしたはずなので

id:keijiro

なるほど!

試してみます。

-------------------------

途中でエラーが出ました。

config.status: creating php4.spec

config.status: creating main/build-defs.h

config.status: creating scripts/phpize

config.status: creating scripts/php-config

config.status: creating sapi/cli/php.1

config.status: creating main/php_config.h

config.status: executing default commands

+ --with-mysql=/usr

/var/tmp/rpm-tmp.89921: line 139: --with-mysql=/usr: No such file or directory

error: Bad exit status from /var/tmp/rpm-tmp.89921 (%build)


RPM build errors:

Bad exit status from /var/tmp/rpm-tmp.89921 (%build)

/usrに無いという感じなので、

ディレクトリを変更して試してみます。

----------------------------------

/usr

/usr/lib

/usr/lib/mysql

/var

など試しましたが、結果は同じでした。

2006/08/07 14:30:22

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

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

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

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

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