MySQL 라이브러리 선택

mysqli 및 PDO_MySQL PHP 확장은 C 클라이언트 라이브러리 위에 있는 경량 래퍼입니다. 확장은 mysqlnd 라이브러리 또는 libmysqlclient 라이브러리를 사용할 수 있습니다. 라이브러리 선택은 컴파일 시간 결정입니다.

mysqlnd 라이브러리는 PHP 배포판의 일부입니다. 지연 연결 및 쿼리 캐싱과 같은 기능, libmysqlclient에서 사용할 수 없는 기능을 제공하므로 내장 mysqlnd 라이브러리를 사용하는 것이 좋습니다. 자세한 내용과 제공하는 기능 목록은 mysqlnd 설명서를 참조하십시오.

예 #1 mysqlnd 또는 libmysqlclient를 사용하기 위한 명령 구성

// Recommended, compiles with mysqlnd
$ ./configure --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd

// Alternatively recommended, compiles with mysqlnd
$ ./configure --with-mysqli --with-pdo-mysql

// Not recommended, compiles with libmysqlclient
$ ./configure --with-mysqli=/path/to/mysql_config --with-pdo-mysql=/path/to/mysql_config
                

라이브러리 기능 비교

MySQL 클라이언트 서버 라이브러리(libmysqlclient) 대신 mysqlnd 라이브러리를 사용하는 것이 좋습니다. 두 라이브러리 모두 지원되며 지속적으로 개선되고 있습니다.

  MySQL native driver (mysqlnd) MySQL client server library (libmysqlclient)
PHP 배포의 일부 Yes No
PHP 버전 도입 5.3.0 N/A
License PHP License 3.01 Dual-License
개발 현황 Active Active
수명 주기 No end announced No end announced
컴파일 기본값(모든 MySQL 확장에 대해) Yes No
압축 프로토콜 지원 Yes Yes
SSL 지원 Yes Yes
명명된 파이프 지원 Yes Yes
비차단, 비동기 쿼리 Yes No
성능 통계 Yes No
LOAD LOCAL INFILE은 open_basedir directive을 따릅니다. Yes No
PHP의 기본 메모리 관리 시스템 사용(예: PHP 메모리 제한 준수) Yes No
숫자 열을 double로 반환(COM_QUERY) Yes No
숫자 열을 문자열로 반환(COM_QUERY) Yes Yes
플러그인 API Yes Limited
자동 재연결 No Optional