y-matsui::weblog

電子楽器、音楽、コンピュータ、プログラミング、雑感。面倒くさいオヤジの独り言

CobaltRaQ550のPHPバージョンアップ

pkgファイルをみっけた→ここ
今更4.06っていうのも色々と使えないアプリなんかが出てきて不便だったので、4.2.3になって嬉しい。
管理画面が見えなくなるとか、仮想サイト設定が飛んでしまうというようなトラブルも無く、ひとまず安心。
しかし!やっぱり出た!不具合
phpMyAdminで接続できなくなってしまった。ピンチ

www.edison.ca/cobaltから拾ってきたPHP 4.2.3 for RAQ550 release 2は、下記の設定でPHPをインストールする
./configure options:
'./configure' '--prefix=/usr' '--with-apxs=/usr/sbin/apxs' '--enable-safe-mode' '--with-config-file-path=/etc/httpd/4.2.3/' '--with-exec-dir=/usr/bin' '--with-zlib' '--enable-magic-quotes' '--with-regex=system' '--enable-track-vars' '--with-iconv' '--enable-xml' '--disable-debug' '--with-gd' '--enable-mbstring' '--with-interbase=shared' '--with-mysql=shared' '--with-p gsql=shared' '--with-ldap' '--with-imap' '--with-openssl=/usr' '--with-jpeg-dir=/usr' '--with-png-dir=/usr' '--with-mcrypt=shared' '--with-gettext=shared' '--with-imap-ssl' '--disable-mbstr-enc-trans' '--enable-sockets' '--enable-ftp'

おや?

    • with-mysqlオプションが代わっている。メインコントロールパネルは既存の4.0.6で動作し、仮想サイト上のユーザのみ4.2.3で動作させるためにこうなっているのであるが、phpMyAdminの接続は当たり前だが、仮想サイト上からの接続になる。とりあえず、MySQLlocalhost以外、仮想サイト上のdbユーザを登録する。

・・・で
例えば、phpMyAdmin 2.2.0rc3では下のようなエラーが出て、MySQLに接続できなかった。
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
結局、config.inc.phpファイルの
$cfgServers[1]['host'] = 'localhost'; // MySQL hostname

$cfgServers[1]['host'] = 'hostname.domain.jp'; // MySQL hostname
・・と仮想ホストのURIを入れたら通った。

同じく、phpMyAdmin 2.6.3-pl1 の方は、
「#2002 - サーバーが反応しません。 (または、ローカルの MySQL サーバーのソケットは 正確に設定されません) 」ってな感じのエラーメッセージを吐いていたのだが
config.inc.php
$cfg['Servers'][$i]['host'] = 'host.domain.jp';←localhostから変更
$cfg['Servers'][$i]['socket'] = '/tmp/mysql.sock';←指定
$cfg['Servers'][$i]['connect_type'] = 'socket';←tcpから変更
こんな風にしたら動作した。

なるほど、localhostを前提にして動作していたところ、リモートユーザでかつ仮想サイト上から共有されるっていう前提でセットアップしたってことなのね?←勝手にこのように解釈

※しかし、MySQLAdminで
「あなたはマルチバイト文字(mbstring)の扱いに重大なバグのある PHP 4.2.3 を使っています。PHP のバグレポート 19404 です。phpMyAdmin を使うなら、このバージョンの PHP はお奨めしません...と言うか patch をあてないと動きません。」なんていわれると不安になるなぁ。