2014年12月14日日曜日

PHPのMySQLドライバの警告

そう言えば、PHPのMySQLドライバがずっと警告を吐き続けている。

Warning: mysql_connect(): Headers and client library minor version mismatch. Headers:50605 Library:50540 in /usr/local/httpd-2.4.2/htdocs/***** on line **

で、何なのこれって話ですが、とりあえずインストールされているMySQLのバージョンを調べる。

apt-cache show mysql-server
(省略)
Version: 5.5.40-0ubuntu0.12.04.1
(省略)

ということで5.5.40っぽい。これが「Library: 50540」って事なのかな。で、phpinfo()の結果を見てみると以下の様な感じに。

MySQL Supportenabled
Active Persistent Links 0
Active Links 0
Client API version 5.5.40
MYSQL_MODULE_TYPE external
MYSQL_SOCKET /tmp/mysql565.sock
MYSQL_INCLUDE -I/usr/local/mysql-5.6.5-m8/include
MYSQL_LIBS -L/usr/local/mysql-5.6.5-m8/lib -lmysqlclient_r  
これのinclude部分のバージョンが5.6.5な所が「Headers:50605」って事なのかな。仕方ないので、これは再コンパイルかな。

さて、ソースからビルドして入れるか。

> sudo apt-get build-dep php5-mysql

すると、結局php5をソースからビルドする事になる。

パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
'php5-mysql' の代わりに 'php5' をソースパッケージとして選出しています
以下のパッケージが新たにインストールされます:
  apache2-prefork-dev apache2-utils apache2.2-bin apache2.2-common aspell
  aspell-en chrpath comerr-dev debhelper dh-apparmor dictionaries-common
  diffstat flex freetds-common freetds-dev gettext groff-base
  hardening-wrapper html2text intltool-debian krb5-multidev lemon libapr1-dev
  libaprutil1-dbd-sqlite3 libaprutil1-dev libaprutil1-ldap libaspell-dev
  libaspell15 libbsd-dev libbz2-dev libcroco3 libct4 libcurl4-openssl-dev
  libdb-dev libdb5.1-dev libedit-dev libenchant-dev libenchant1c2a libfl-dev
  libgcrypt11-dev libgd2-xpm libgd2-xpm-dev libgettextpo0 libglib2.0-bin
  libglib2.0-data libglib2.0-dev libgmp-dev libgmp3-dev libgnutls-dev
  libgnutls-openssl27 libgnutlsxx27 libgpg-error-dev libgssrpc4
  libhunspell-1.3-0 libice-dev libicu-dev libicu48 libidn11-dev
  libkadm5clnt-mit8 libkadm5srv-mit8 libkdb5-6 libkrb5-dev libldap2-dev
  libmagic-dev libmhash-dev libmhash2 libmysqlclient-dev libp11-kit-dev
  libpam0g-dev libperl-dev libperl5.14 libpipeline1 libpq-dev libpq5
  libpspell-dev librecode-dev librecode0 librtmp-dev libsasl2-dev
  libsensors4-dev libsm-dev libsnmp-base libsnmp-dev libsnmp-perl libsnmp15
  libsybdb5 libt1-5 libt1-dev libtasn1-3-dev libtidy-0.99-0 libtidy-dev
  libunistring0 libwrap0-dev libxaw7-dev libxmltok1 libxmltok1-dev libxmu-dev
  libxmu-headers libxpm-dev libxt-dev man-db po-debconf quilt re2c uuid-dev
アップグレード: 0 個、新規インストール: 105 個、削除: 0 個、保留: 0 個。
1 個のパッケージが完全にインストールまたは削除されていません。
49.8 MB のアーカイブを取得する必要があります。
この操作後に追加で 166 MB のディスク容量が消費されます。
続行しますか [Y/n]? Y
(中略)
以下のパッケージの処理中にエラーが発生しました:
 grub-pc
E: Sub-process /usr/bin/dpkg returned an error code (1)
E: ビルド依存関係の処理に失敗しました

えらい事になったぜ。エラーはコマンド実行の途中に表示されていた。

/usr/sbin/grub-probe: エラー: cannot find a device for / (is /dev mounted?).
dpkg: grub-pc の処理中にエラーが発生しました (--configure):
 サブプロセス インストール済みの post-installation スクリプト はエラー終了ステータス 1 を返しました

なんでだろう。dfすると一応/devも見えるのだが。

> df -a
Filesystem     1K-blocks    Used Available Use% Mounted on
aufs             5104816 2362200   2486616  49% /
proc                   0       0         0    - /proc
sysfs                  0       0         0    - /sys
udev              113528       4    113524   1% /dev
devpts                 0       0         0    - /dev/pts
tmpfs              49084     212     48872   1% /run
none                   0       0         0    - /sys/fs/fuse/connections
none                   0       0         0    - /sys/kernel/debug
none                   0       0         0    - /sys/kernel/security
none                5120       0      5120   0% /run/lock
none              122700       0    122700   0% /run/shm
hostfs                 0       0         0    - /rackhub

なんか、何となく根が深そうなのでちょっとここは避けて通りたい

0 件のコメント:

コメントを投稿