컴퓨터 / 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

국산 쿨레이스 매듭없는 실리콘 운동화 신발끈 20P
쇼미캡 국산 빅사이즈 귀달이 군모 밀리터리 캡모자
시후주얼리 순은 실버925 큐빅 모조다이아 핵진주목걸이 SS524N
고대 룬 선물 양각 남성 반지 개성있는 남자반지 레터
서피스 프로8 13형 고투명 액정보호필름 2매
LG V30 사생활 액정보호필름1매
휴대폰 거치대 테블릿 미니 거치대 각도조절가능 KK13
하이텐더다이어리 갤럭시버디2 SM-M236L
한일의료기 황토참숯 낙엽금사 전기매트 싱글 침대
원룸 자취생 공간활용 꼬마 네모 미니행거 8P 세트
부착식 슬라이딩 히든 서랍 특대형
(대원)고급씽크선반600 1124
테이프(배관보온테이브 파이프보온테이프)옵션선택
피내침 한방침 압봉 은색1호 침 100개입
부드러운 변기 쿠션 커버 U형 O형 변기커버시트
야채슬라이서 채칼 양파 토마토 감자 오이 슬라이스 칼

3M 프리미엄 스티커크리너 PIC10
바이플러스
3M 810 매직테이프 50mm x 65M
바이플러스

맨위로↑