new mysqli
PHPスクリプトでインスタンスをインスタンス化しようとすると、ランダムに次のエラーが発生し始めます。
mysqli::mysqli(): ヘッダーとクライアントライブラリのマイナーバージョンが一致しません。タイトル: 50541 ライブラリ: 50626
sudo yum list installed
を実行すると、バージョンが同じように見えるので少し混乱します。どちらを実行しても、sudo yum update
実際にパッケージが更新されるわけではありません。
sudo yum list installed
出力は次のとおりです(phpパッケージのみ)。
php.x86_64 5.4.16-36.el7_1 @updates
php-cli.x86_64 5.4.16-36.el7_1 @updates
php-common.x86_64 5.4.16-36.el7_1 @updates
php-devel.x86_64 5.4.16-36.el7_1 @updates
php-mbstring.x86_64 5.4.16-36.el7_1 @updates
php-mcrypt.x86_64 5.4.16-3.el7 @epel
php-mssql.x86_64 5.4.16-3.el7 @epel
php-mysql.x86_64 5.4.16-36.el7_1 @updates
php-pdo.x86_64 5.4.16-36.el7_1 @updates
php-soap.x86_64 5.4.16-36.el7_1 @updates
CentOS Linux release 7.1.1503 (Core)
私は、およびPHP 5.4.16
を使用しています5.6.26 MySQL Community Server
。
php-mysqlnd
この質問に対する他の答えからドライバをインストールできますが、ドライバがyumのパッケージの下にリストされていないことを確認しました。
yum経由でインストールできるPHPパッケージは次のとおりです。
php.x86_64 5.4.16-36.el7_1 @updates
php-cli.x86_64 5.4.16-36.el7_1 @updates
php-common.x86_64 5.4.16-36.el7_1 @updates
php-devel.x86_64 5.4.16-36.el7_1 @updates
php-mbstring.x86_64 5.4.16-36.el7_1 @updates
php-mcrypt.x86_64 5.4.16-3.el7 @epel
php-mssql.x86_64 5.4.16-3.el7 @epel
php-mysql.x86_64 5.4.16-36.el7_1 @updates
php-pdo.x86_64 5.4.16-36.el7_1 @updates
php-soap.x86_64 5.4.16-36.el7_1 @updates
この問題をどのように解決できるかを知っている人はいますか?突然、なぜこれが起こるのかわかりません。金曜日の週末に出発する前に台本が働いていたし、私が知っている限り何も変わりませんでした。
答え1
使用できましたが、sudo yum install php-mysqlnd
初めてインストールしたときにタイプミスがあったと思います。あや!
インストール後にphp-mysqlnd
実行しますsudo service httpd restart
。
明らかに、同僚が私たちのmysql
ドライバーを迷惑させました。php
または、関連する変更があるかどうかを尋ねると、mysql
彼は変更しなかったと言いました。見てみると.bash_history
再インストールもしたし、ドライバーphp
もたくさんありましたmysql
。
学んだ知識!
答え2
PHP拡張機能に移動してmysqliを無効にしてからnd_mysqliを有効にすると、このエラーを解決できます。幸運を祈る