MariaDB로 마이그레이션 후에 다음과 같은 에러 메시지가 발생하는 경우가 있습니다.
mysql_connect(): Headers and client library minor version mismatch.
Database 의 Client API Library 버전과 Header 버전이 일치하지 않아 발생하는 문제입니다. DB 자체는 정상적으로 굴러가지만 지속적으로 에러메시지를 뱉어냅니다. 자신의 DB API버전을 확인하려면 커맨드 라인이 다음과 같이 입력합니다.
|
1
|
php -i | grep 'Client API'
|
저같은 경우에는 버전정보가 다음과 같이 출력되었습니다. Client API header version만 다릅니다.
|
1
2
3
4
|
Client API version => 5.3.12-MariaDB
Client API library version => 5.3.12-MariaDB
Client API header version => 5.1.69
Client API version => 5.3.12-MariaDB
|
해결방법은 php mysql 드라이버를 삭제하고 mysqlnd 드라이버를 설치하면 됩니다.
|
1
2
|
yum erase php-mysql
yum install php-mysqlnd
|
드라이버 설치를 마치고 API 버전을 다시 확인하면 mysqldn으로 드라이버가 변경된 것을 확인하실 수 있습니다. 또한 더 이상 에러메세지가 발생하지 않습니다.
<h4>A PHP Error was encountered</h4> <p>Severity: Warning</p> <p>Message: preg_replace(): Compilation failed: regular expression is too large at offset 43740</p> <p>Filename: core/Security.php</p> <p>Line Number: 805</p>**************************************************************************************************
글의 크기를 확인해보시고 php에서 메모리 설정을 늘려보세요.