在PHP中,每当我尝试(通过mysql_connect
)连接到数据库时,都会收到以下警告。
警告: mysql_connect():标头和客户端库次要版本不匹配。标题:50162库:50524
在我的php -i
输出中,mysqli下面列出了以下值
客户端应用编程接口库版本=> 5.5.24
客户端API头版本=> 5.1.62
我尝试过更新php5-mysql和php,但我已经更新了它们的最新版本。我该如何更新头文件版本才能不再看到这个警告?
编辑
我的MySQL文件都应该更新到最新版本:
$ apt-get install mysql.*5.5
. . .
mysql-client-5.5 is already the newest version.
mysql-server-core-5.5 is already the newest version.
mysql-server-5.5 is already the newest version.
mysql-testsuite-5.5 is already the newest version.
mysql-source-5.5 is already the newest version.
正在删除旧版本
$ apt-get remove mysql.*5.1
. . .
Package handlersocket-mysql-5.1 is not installed, so not removed
Package mysql-cluster-client-5.1 is not installed, so not removed
Package mysql-cluster-server-5.1 is not installed, so not removed
Package mysql-client-5.1 is not installed, so not removed
Package mysql-client-core-5.1 is not installed, so not removed
Package mysql-server-5.1 is not installed, so not removed
Package mysql-server-core-5.1 is not installed, so not removed
Package mysql-source-5.1 is not installed, so not removed
发布于 2012-05-27 02:29:27
你的MySQL是用MySQL5.1编译的,但现在它链接的是5.5.X家族的MySQL库。您必须将PHP升级到MySQL 5.5编译的版本,或者将mysql客户端库恢复到5.1.x。
发布于 2014-03-17 20:16:50
我正在使用MariaDB,也有类似的问题。
在MariaDB site中,建议通过以下方式修复该问题
我的问题是通过使用Ubuntu中的mysqlnd驱动程序解决的:
sudo apt-get install php5-mysqlnd
更新:额外信息安装此驱动程序还可以解决以字符串形式返回整数值的PDO问题。要在安装mysqlInd后保持类型为整数,请执行以下操作
$db = new PDO('mysql:host='.$host.';dbname='.$db_name, $user, $pass,
array( PDO::ATTR_PERSISTENT => true));
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$db->setAttribute(PDO::ATTR_STRINGIFY_FETCHES, false);
发布于 2014-08-11 23:51:08
对于新的MySQL 5.6系列,你需要安装php5-mysqlnd,而不是php5-mysql。
删除此版本的mysql驱动程序
sudo apt-get remove php5-mysql
然后安装这个
sudo apt-get install php5-mysqlnd
https://stackoverflow.com/questions/10759334
复制相似问题