mysql_connect():标头和客户端库次要版本不匹配库:100005

Posted

技术标签:

【中文标题】mysql_connect():标头和客户端库次要版本不匹配库:100005【英文标题】:mysql_connect(): Headers and client library minor version mismatch Library:100005 【发布时间】:2013-11-23 12:41:27 【问题描述】:

自从我上周五执行了定期软件包更新以来,我的网络服务器遇到了一个相当棘手的问题。使用 mysql_connect() 时出现错误。

Warning: mysql_connect(): Headers and client library minor version mismatch. Headers:50532 Library:100005 in /srv/www/***/wp-includes/wp-db.php on line 1142

当我运行 php -i 我得到:

mysqli

MysqlI Support => enabled
Client API library version => 10.0.5-MariaDB  
Client API header version => 5.5.32

apt-get 安装 mariadb*

导致已安装以下软件包:

libmariadbclient18 is already the newest version.
libmariadbclient18 set to manually installed.
mariadb-client is already the newest version.
mariadb-client-10.0 is already the newest version.
mariadb-client-10.0 set to manually installed.
mariadb-client-core-10.0 is already the newest version.
mariadb-client-core-10.0 set to manually installed.
mariadb-common is already the newest version.
mariadb-common set to manually installed.
mariadb-server is already the newest version.
mariadb-server-10.0 is already the newest version.
mariadb-server-10.0 set to manually installed.
mariadb-server-core-10.0 is already the newest version.
mariadb-server-core-10.0 set to manually installed.

我已经在整个网络上查找了这个问题,但似乎没有一个类似的问题带有带有库版本的 -MariaDB 标记。

所以我不知道如何解决这个问题。

非常感谢您的帮助!

编辑:

php -i mysql:

MySQL Support => enabled
Client API version => 10.0.5-MariaDB

奇怪的是没有提到客户端 API 库版本或 本节中的客户端 API 标头版本。

【问题讨论】:

@YourCommonSense 感谢您的提示,我更新了主题中的 mysql 详细信息。奇怪的是,这部分php信息中没有提到客户端和库版本。 我建议为 PHP 安装 mysqlnd 包。 @RocketHazmat 谢谢!消除了错误!现在要弄清楚我是如何解决这个问题的...... @SonicFC:与其说是错误,不如说是警告。只是说版本不匹配,所以你可能有问题。这是因为 MariaDB 更新到了 10 版,而 Oracle MySQL 还是 5.x。 【参考方案1】:

为 PHP 安装 mysqlnd 包,警告应该会消失。

对于基于 Debian/Ubuntu 的系统,这将是:

sudo apt install php-mysqlnd

sudo apt install php7.0-mysqlnd

安装后重新启动服务器守护进程(apache、nginx 和/或 php-fpm)

【讨论】:

@danorton :/ 你记得安装后重启你的网络服务器守护进程(apache、nginx、php-fpm)吗? 安装会自行解决。 另外,phpmyadmin需要php5-mysql。【参考方案2】:

为 PHP 启用 mysqlndnd_mysqlnd_mysqli 扩展,如果已启用,则禁用 mysql 和 mysqli (PHP 5.5)。

响应迟了,但这在搜索结果中很高,这是对我有用的解决方案,因为我没有管理员访问服务器的权限。

【讨论】:

这也解决了我的问题。但我还必须在 mysqli_connect 语句之前添加 @。谢谢@coin

以上是关于mysql_connect():标头和客户端库次要版本不匹配库:100005的主要内容,如果未能解决你的问题,请参考以下文章

当工件是库并且标志影响 C 或 C++ 标头时,功能标志/切换

Java keyTool - 将主要/次要中间证书附加到密钥库[关闭]

如何在不使用 CMake 但仅使用 make 的项目中合并使用 CMake 的仅标头库?

打包静态库时如何隐藏标题?

php总结8——mysql函数库增删改

由于 Visual Studio 次要升级而导致的运行时依赖性