2

私は自分の小さなvpsを管理していて、最近mysqlからmariadb(5.3)に移行しました。

通常php5/mysql5で動作するいくつかのphpテストプロジェクトで、MySQLバージョンに関するいくつかのヘッダーエラーが発生します。

  Headers and client library minor version mismatch. Headers:50158 Library:50303 

ここでの私の推測は次のとおりです。MariaDB5.3はライブラリであり、ヘッダーはlibmysqlclientです。

更新/インストール時にどこで失敗したかはわかりませんが(mysqlを削除してmariadbのみをインストールしようとしても)、php-mysqlパッケージで発生するようです。

トピックで見たように、apt-getの-oを使用して--with-mysql = mariadb-develを構成しようとしましたが、実際には、php5-mysqlの構成方法がわからないようです。パッケージ(私はそれが何をするのかさえ知りません:構成ファイルまたはライブラリ?)

要約すると、ライブラリが5.3である5.1にPHP5 MySQLヘッダーが残っているのはなぜですか?

ルーカス、助けてくれてありがとう。

[プラス]apt-getインストールから設定パラメータを回復するにはどうすればよいですか?使用しても結果がありません:

php5 -i | grep configure
4

2 に答える 2

3

ライブラリが5.3である5.1にまだPHP5MySQLヘッダーがあるのは、PHPが新しいヘッダーで再コンパイルされなかったためです(5.3がバイナリの下位互換性を維持しているためでもありません)。

ドライバー自体のチェックは間違っているか、慎重すぎると言った方がいいでしょう。PHP(mysqli)は、マイナーバージョンがでコンパイルされたものよりも高い場合にバーフするという点でMySQLドライバーの中でユニークです。

これがPHPMySQLドライバーのバグレポートです

于 2012-01-04T19:56:45.210 に答える
3

私はこの問題を抱えていて、それを解決しました:(サーバーバージョン:5.3.5-MariaDB-ga-mariadb113-logとphp 5.4.0がサーバーにインストールされています)php 5.4.0ソースをダウンロードし、mysql.soを手動でコンパイルしました。これが解決策です:

# cd /root/php-5.4.0/ext/mysql
# phpize
# ./configure --with-mysql=/usr --with-libdir=lib64/mysql
# make

mysql.soはエラーなしでコンパイルされており、正常に動作します。注:MariaDB-develパッケージとphp-develパッケージが必要です。

于 2012-03-16T03:47:12.710 に答える