Установка
Расширение mysqli
было представлено с версией PHP 5.0.0.
MySQL Native Driver был включен в PHP версии 5.3.0.
Установка для Linux
Большинство дистрибутивов Unix включает бинарные версии PHP, которые в дальнейшем могут быть установлены. Несмотря на то, что бинарные версии, как правило, собраны с включенной поддержкой расширений MySQL, может потребоваться установка дополнительных пакетов с библиотеками расширений. Убедитесь, что менеджер пакетов, идущий с выбранным дистрибутивом, позволяет установить такие пакеты.
К примеру, на Ubuntu пакет php5-mysql
устанавливает
расширения ext/mysql, ext/mysqli, и pdo_mysql. На CentOS,
пакет php-mysql
так же их устанавливает.
Конечно, вы всегда можете собрать PHP из исходного кода. Сборка PHP из исходного кода позволяет выделить только те расширения MySQL (а также клиентские библиотеки для каждого из расширений), которые требуется использовать.
Рекомендуется использовать библиотеку MySQL Native Driver, в результате повышается производительность и имеется доступ к функциям, недоступным при использовании MySQL Client Library. См. Что такое MySQL Native Driver в PHP? для ознакомления с возможностями MySQL Native Driver.
Под /path/to/mysql_config
подразумевается расположение
программы mysql_config
, поставляемой вместе с MySQL
Server.
Версия PHP | По умолчанию | Опции настройки: mysqlnd | Опции настройки: libmysqlclient |
Список изменений |
---|---|---|---|---|
5.4.x и выше | mysqlnd | --with-mysqli | --with-mysqli=/path/to/mysql_config | по умолчанию mysqlnd |
5.3.x | libmysqlclient | --with-mysqli=mysqlnd | --with-mysqli=/path/to/mysql_config | mysqlnd поддерживается |
5.0.x, 5.1.x, 5.2.x | libmysqlclient | Недоступно | --with-mysqli=/path/to/mysql_config | mysqlnd не поддерживается |
Необходимо отметить, что существует возможность свободно перемешивать
расширения MySQL и клиентские библиотеки. Например, можно
активировать расширение MySQL, позволяющее использовать
MySQL Client Library (libmysqlclient), и при этом настроить расширение
mysqli
для использования MySQL Native Driver.
Таким образом, возможны любые перестановки расширений и клиентских библиотек.
Установка для Windows
Для Windows PHP в большинстве случаев устанавливается с помощью установщика.
PHP 5.3.0 и новее
В Windows для PHP версии 5.3 и выше, расширение mysqli
разрешено и использует MySQL Native Driver по умолчанию. Это означает, что вам не
нужно париться, настраивая доступ кlibmysql.dll.
PHP 5.0, 5.1, 5.2
Для старых, неподдерживаемых версий PHP (PHP 5.2 не поддерживается с
6 января 2011 года), необходимо произвести настройку для включения
расширения mysqli
и определения используемой им
клиентской библиотеки.
Расширение mysqli
не включено по умолчанию, а
следовательно в php.ini необходимо указать файл DLL
php_mysqli.dll. Для этого вам необходимо найти
файл php.ini (обычно расположен в c:\php) и
убедиться, что вы сняли знак комментирования (";") в начале строки
extension=php_mysqli.dll
, в разделе
[PHP_MYSQLI]
.
Также, если вы хотите использовать MySQL Client Library с
mysqli
, то вам необходимо убедиться, что
PHP может получить доступ к файлу клиентской библиотеки.
MySQL Client Library включен в дистрибутив Windows PHP
в виде файла libmysql.dll. Этот файл должен
быть доступен в переменной окружения Windows PATH
для того, чтобы его можно было успешно загрузить. По ссылке
"Как мне добавить мою
PHP директорию в Windows PATH" находится статья с информацией
о том, как это сделать. Если системная директория Windows прописана в
PATH, то можно скопировать libmysql.dll
в системную директорию Windows (обычно c:\Windows\system).
Однако такой путь не рекомендуется.
При включении любого расширения PHP (например
php_mysqli.dll), директива PHP
extension_dir должна содержать
путь к директории, где находятся расширения PHP. Смотрите также
Инструкции по Самостоятельной
Установке для Windows. Для примера в PHP 5 значением
extension_dir
является c:\php\ext.
Замечание:
Если при загрузке сервера появляется следующее сообщение:
"Unable to load dynamic library './php_mysqli.dll'"
, то система не может найти файлы php_mysqli.dll и/или libmysql.dll.