PHPでMySQLプラグインのバージョンと一致しないエラーが発生します。

PHPでMySQLプラグインのバージョンと一致しないエラーが発生します。

ここではDebian Jessieを使用していますが、エラーを表示するいくつかのPHPページがあります。

A PHP Error was encountered
Severity: Warning

Message: mysqli::real_connect(): Headers and client library minor version mismatch. Headers:50553 Library:50630

Filename: mysqli/mysqli_driver.php

パッケージはphp5です 。5.6.30+dfsg-0+deb8u1
php5-mysql5.6.30+dfsg-0+deb8u1

どちらも標準的な Debian パッケージであり、コンポーネントのどの部分も直接コンパイルしませんでした。

適切なアップデートとアップグレードを試み、php5-mysqlApacheを再インストールして再起動しましたが、問題は解決しませんでした。

phpinfo()まだ文句を言っていますphp5-mysql

何をすべきか?

答え1

これはバグのあるラッパーのようですphp5-mysql。この記事で関連する質問を見つけました。ヘッダーとクライアントライブラリのマイナーバージョンが一致しません。

許容される回答ではありませんが、そのリンクで最も関連性の高い回答は次のとおりです。

新しいMySQL 5.6シリーズでは、php5-mysqlの代わりにphp5-mysqlndをインストールする必要があります。

このバージョンのmysqlドライバをアンインストールしてください。

sudo apt-get php5-mysqlをアンインストールしてインストールする

sudo apt-get インストール php5-mysqlnd

ただし、依存関係を一貫して維持するには、削除するのがphp5-mysql最善の方法ではありません。

sudo apt-get install php5-mysqlnd

依存関係を削除してください。php5-mysql しかし、インストールするphp5-mysqlnd

packages.debian.orgから:パッケージ: php5-mysqlnd

php5用MySQLモジュール(ネイティブドライバ)

このパッケージは、PHPスクリプトから直接MySQLデータベースに接続するためのモジュールを提供します。これには、すべてのバージョンのMySQLに接続するために使用できる汎用の「mysql」モジュール、MySQL 4.1以降用の拡張された「mysqli」モジュール、およびPHP Data Objects拡張で使用するためのpdo_mysqlモジュールが含まれています。

完了すると、sudo apt-get install php5-mysqlnd関連ページが警告なしに正常に機能し始めました。

しかし、まだ/iso-8859-1を使用している他のページの他の前のページには、latin1UTF-8を強制的に使用するように強制されるなど、奇妙な文字が表示され始めていますphp5-mysql

関連情報