![当安装的软件包版本为 3.2.6 时,版本为 10.6.6](https://linux22.com/image/793819/%E5%BD%93%E5%AE%89%E8%A3%85%E7%9A%84%E8%BD%AF%E4%BB%B6%E5%8C%85%E7%89%88%E6%9C%AC%E4%B8%BA%203.2.6%20%E6%97%B6%EF%BC%8C%E7%89%88%E6%9C%AC%E4%B8%BA%2010.6.6.png)
我已经从源代码构建了 php 8.1。一个 php 应用程序使用 mysqli 扩展时出现此警告:
HP 警告:mysqli_real_connect():标头和客户端库次要版本不匹配。标头:100606 库:30206 位于 /home/www/www/mitest.php 第 17 行
其中 3.2.6 是 mariadb 连接器的版本,10.6.6 是 mariadb 的版本。不是安装的 mariadb,而是连接器的来源?我不知道这很奇怪。安装的 mariadb 版本是 10.5.22。所有版本均来自 OS repo,均为最新版本。更新后我执行了 make clean 和 configure + make 以确保无误。
# yum list mariadb-connector-c-devel
Last metadata expiration check: 1:07:13 ago on Sun 24 Mar 2024 11:59:26 PM EET.
Installed Packages
mariadb-connector-c-devel.aarch64 3.2.6-1.el9_0 @appstream
# /usr/bin/mariadb_config --version
10.6.6
mariadb_config 来自连接器包:
yum provides /usr/bin/mariadb_config
Last metadata expiration check: 1:17:29 ago on Sun 24 Mar 2024 11:59:26 PM EET.
mariadb-connector-c-devel-3.2.6-1.el9_0.aarch64 : Development files for
: mariadb-connector-c
Repo : @System
Matched from:
Filename : /usr/bin/mariadb_config
mariadb-connector-c-devel-3.2.6-1.el9_0.aarch64 : Development files for
: mariadb-connector-c
Repo : appstream
Matched from:
Filename : /usr/bin/mariadb_config
来自 php -i:
mysqli
MysqlI Support => enabled
Client API library version => 3.2.6
Active Persistent Links => 0
Inactive Persistent Links => 0
Active Links => 0
Client API header version => 10.6.6-MariaDB
MYSQLI_SOCKET => /var/lib/mysql/mysql.sock
这是 mysqli 扩展中的错误还是我做错了什么