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

남자 패션 5부 휴양지 하와이안 반바지 홈웨어
감싸주고 올려주고 쫀쫀 사각팬티
어글리슈즈 갈비신발 스트랩샌들 통굽 여름 키높이
허리밴딩 미니 스커트 얇은 속바지 안감 양 옆트임
스마트폰 아이패드 태블릿 초미세 정전식 터치펜
DocuPrint P265dw 재생카트리지 대용량 검정 2600매
LG V50 IS 투명 젤리 케이스 V500
갤럭시 노트20 빨강머리앤v1 wk플립 N981 케이스
만능 면도경/샤워바용 욕실거울 확대경 원형 면도거울
르플랑 한소쿠리 초록영귤 디퓨저 90ml
북유럽풍 대나무우드 옷걸이 행거 심플형
이케아 GLASIG글라시그 미니양초홀더 유리5x5cm 5개입
미니캡 플라스틱 칫솔걸이 (1세트 3개입)
AH 남자 여름 팬츠 편한 작업 등산 바지
(동신헬스케어) 후랄라 구취제거제 30캡슐
엘사보르 솔티드 나쵸칩 225g 1박스 10개입

LF쏘나타 뒷좌석 편안하개 차량용 에어매트
칠성상회
포켓몬스터 문구세트-10EA
칠성상회

맨위로↑