Выбор библиотеки

Модули mysqli и PDO_MySQL — легковесные обёртки поверх клиентской библиотеки языка C. Модули работают либо с библиотекой драйвера mysqlnd, либо с клиентской библиотекой языка C libmysqlclient. Библиотеку выбирают на этапе компиляции.

Библиотека mysqlnd — часть дистрибутива PHP. Библиотека предлагает функции наподобие ленивых соединений и кеширования запросов, включая средства, которые недоступны в библиотеке libmysqlclient, поэтому настоятельно рекомендуется выбирать встроенную в PHP библиотеку mysqlnd. Документация по mysqlnd даёт дополнительную информацию и список средств и функциональности, которую предлагает драйвер.

Пример #1 Команды конфигурирования библиотеки mysqlnd или libmysqlclient

// Рекомендуется, компилируется с драйвером mysqlnd
$ ./configure --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd

// Рекомендуется, компилируется с драйвером mysqlnd
$ ./configure --with-mysqli --with-pdo-mysql

// Не рекомендуется, компилируется с библиотекой libmysqlclient языка C
$ ./configure --with-mysqli=/path/to/mysql_config --with-pdo-mysql=/path/to/mysql_config

Сравнение библиотек

Рекомендуется работать с библиотекой mysqlnd, а не с библиотекой MySQL Client Server (libmysqlclient). Обе библиотеки поддерживаются и непрерывно совершенствуются.

  MySQL native driver (mysqlnd) MySQL client server library (libmysqlclient)
Часть дистрибутива PHP Да Нет
Версия PHP, в которой появилась библиотека 5.3.0 Нет данных
Лицензия PHP License 3.01 Двойная лицензия
Статус разработки Активный Активный
Жизненный цикл Окончание не анонсировано Окончание не анонсировано
Компиляция по умолчанию (для всех модулей MySQL) Да Нет
Поддержка протокола сжатия Да Да
Поддержка протокола SSL Да Да
Поддержка именованных конвейеров Да Да
Неблокирующие асинхронные запросы Да Нет
Статистика производительности Да Нет
Конфигурация LOAD LOCAL INFILE учитывает директиву open_basedir Да нет
Взаимодействие с собственной системой управления памятью PHP (например, соблюдение ограничений памяти PHP) Да Нет
Возврат числовых столбцов как целочисленных значений double (COM_QUERY) Да нет
Возврат числовых столбцов как строк (string) (COM_QUERY) Да Да
Поддержка API плагинов Да Ограниченно
Автоматическое переподключение нет опционально
Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top