컴퓨터 / Computer

PHP Warning: mysqli_connect(): Headers and client library minor versi…

PHP-logo.svg 






 PHP Warning:  mysqli_connect(): Headers and client library minor version mismatch. Headers:50173 Library:50312


사용중인 php와 mysql(혹은 mariadb) 사이에 버전이 일치하지 않아 위와 같이 오류 메시지를 낼때가 있다. 사실 웹 서버 동작에는 그리 지장이 없기 때문에 무시하고 지나갈 수도 있다. 그런데 웹 서버 로그보다 저 오류 로그가 더 크면 사실 걱정을 좀 해야 한다. 그리고 그런 상황에 처했으니 이를 어떻게든 해결해야 한다.


자료를 많이 검색해 봤는데, php 와 mysql을 연결할때 mysqli 대신에 mysqlnd(mysql native driver)를 쓰라고 나온다. 일반 사용자들이 무슨 힘이 있겠는가. 앞으로 계속 mysqlnd를 쓰라고 하니 쓸 수 밖에. 그런데 이게 yum을 통해서 설치하면 된다고 하는데 그게 또 잘 안된다. 왜 안되는가 살펴봤더니 아래와 같은 환경이어서 그렇더라.



 CentOS 6.x 

 php 5.3 이하 


mysql은 알아서 잘 업데이트가 되는데 php는 보통 OS 설치할때 한번 설치하면 웬만해서는 잘 바꾸지 않는다. 일단 제일 위 오류 메시지가 나오면 쉘에서 아래와 같이 입력해 보자.


 php -i | grep 'Client API' 


위 CentOS와 php 환경에서는 다음과 같이 나온다.


 Client API version => 5.3.12-MariaDB

 Client API library version => 5.3.12-MariaDB

 Client API header version => 5.1.73

 Client API version => 5.3.12-MariaDB



딱 봐도 Client API header version이 낮다. 저걸 바꿔 주려면 mysqlnd를 설치하는 수 밖에 없다.



1차 시도 


  yum erase php-mysql

  rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

  rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

  yum install php-mysqlnd


왜 1차 시도라고 썼겠는가. 저렇게 하면 설치가 안된다. yum이  php-mysqlnd를 찾지 못한다.


2차 시도 

  yum --enablerepo=remi,remi-test install php-mysqlnd


아. 2차 시도 시에는 php 5.4 버전이 설치된다! 이래도 되나? 어쨌건 성공적으로 설치했다. 그리고 중요한 마무리. 이렇게 설치를 했을 경우 mysql과 httpd(주로 apache)를 다시 시작해야 한다.


(그리고 phpmyadmin도 다시 설치해야 한다.)




Comments

4컬러 오리지널 롱 남성장화 방수장화 남성용 레인부츠 장마철 패션장화
Y2K메탈머리핀 헤어핀 헤어 머리핀 집게핀
일회용 비닐 마스크팩 100매 수분팩 얼굴팩 얼굴비닐
원목 십자가 키링
휴대폰 스마트폰 미러톡 스마트폰 누워서 거치대
갤럭시노트20 카노 스탠딩 다이어리 케이스 N981
슈퍼 프로텍트 케이스 갤럭시A15(A155/156) (반품불가)
갤럭시퀀텀3 잭팟 힙 플립커버 케이스 M536
이케아 GLASIG글라시그 미니양초홀더 유리5x5cm 5개입
강력 가죽 보수 테이프
만능 면도경/샤워바용 욕실거울 확대경 원형 면도거울
르플랑 한소쿠리 초록영귤 디퓨저 90ml
코카콜라 업소용 500ml 24PET
남양유업 맛있는두유 GT 검은콩깨 200ml 30병
포커 원카드 보드게임 트럼프 카드 DD-11228
OX0043 옥스포드 커스텀 지갑

아모스 글라스데코 썬데코 별자리 어린이 미술놀이
칠성상회
LF쏘나타 뒷좌석 편안하개 차량용 에어매트
칠성상회

맨위로↑