PHP 8.4.2 Released!

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

Модули 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

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

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

  Родной PHP-драйвер MySQL Native Driver (mysqlnd) Клиентская библиотека MySQL Client Server (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