Lately, one of our customers updated MySQL and rebuild PHP via custombuild. However, his website shows DirectAdmin: Headers and client library minor version mismatch.
As part of our Server Management Services, we assist our customers with several DirectAdmin queries.
Today, let us see how to solve this particular error.
DirectAdmin: Headers and client library minor version mismatch
Warning: mysql_connect() [function.mysql-connect]: /Headers and client library minor version mismatch/. /Headers:50157 Library:50511/
Here, PHP compiles with MySQL lower version, but it links a MySQL library of higher version family. This is the major cause of this error.
The root reason for this error is that PHP separates itself from the MySQL client libraries.
Hence, what happens (mainly on older compiles of Linux) is that people will compile PHP against a given build of the MySQL Client (an irrelevant version of MySQL) and not upgrade (in CentOS this package is mysqlclientXX).
In addition, this allows the package maintainer to support lower versions of MySQL.
Though a messy way to perform the task, it is the only way given how PHP and MySQL use different licensing.
In order to solve this, initially, we have to upgrade PHP to a version that complies with MySQL API library version or revert back mysql client libraries to API header version.
To do so, perform a cleanup in custombuild and rebuild PHP
# cd /usr/local/DirectAdmin/custombuild # ./build clean # ./build php
The MySQLND solves the problem with the help of PHP’s own native driver (the ND), which does not rely on the MySQL Client.
It also complies with the version of PHP we use. This is a better solution all around. If for no other reason MySQLND is made to have PHP talk to MySQL.
We can install mysqlnd using the command:
sudo yum install php-mysqlnd
[Failed to resolve the error? We’d be happy to assist]
In short, this error can occur even after MySQL update and PHP rebuild via custombuild. Today, we saw an effective method our Support Techs employ in order to solve this error.