我自己管理一些 vps,最近我从 mysql 迁移到了 mariadb (5.3)。
在一些通常在 php5/mysql5 下运行的 php 测试项目中,我得到一些关于 MySQL 版本的 header 错误。
Headers and client library minor version mismatch. Headers:50158 Library:50303
我的猜测是:MariaDB 5.3 是库, header 是 libmysqlclient。
我不知道我在更新/安装时哪里失败了(甚至尝试删除 mysql 并只安装 mariadb),但它似乎发生在 php-mysql 包中。
我尝试使用 apt-get 中的 -o 来配置 --with-mysql=mariadb-devel 正如我在一个主题上看到的那样,但事实上,我似乎不知道如何配置php5-mysql 包(我什至不知道它是做什么的:配置文件还是库?)
总结一下,为什么我的 PHP5 MySQL header 仍在 5.1 而库是 5.3?
提前感谢您的帮助, 卢卡斯。
[加号] 如何从 apt-get install 恢复配置参数? 我在使用时没有得到任何结果:
php5 -i | grep configure
最佳答案
您的 PHP5 MySQL header 仍在 5.1 中,其中库为 5.3,这是因为 PHP 未使用新 header 重新编译(也不应该是因为 5.3 保持二进制向后兼容)。
驱动本身的检查是错误的,或者说过于谨慎了。 PHP (mysqli) 在 MySQL 驱动程序中是独一无二的,因为当次要版本高于编译时的版本时它会 barf。
关于php - MySQL => MariaDB = PHP 错误头文件/库版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8682535/