ScotlandPHP

Установка

Расширение 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.

Вспомогательная таблица времени компиляции mysqli
Версия 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 and newer

В 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.

add a note add a note

User Contributed Notes 4 notes

up
-6
David dot Kit dot Friedman at gmail dot com
8 years ago
>On Windows, PHP is most commonly installed using the binary installer. Once PHP has been installed, some >configuration is required to enable mysqli and specify the client library you want it to use.

Basically, if you want to add extensions you can double-click again on the installer file. The installer will find the already installed PHP and will ask if you want to change the installation.

When you go through the prompts it will take you back to the list of extensions and you can pick which extensions you want to add.

For the mysqli extension the installer also edited php.ini so that the extension was enabled:

[PHP_MYSQLI]
extension=php_mysqli.dll

the installer added those lines to the end of the file.
up
-8
Davinken
2 years ago
On CentOS 6 php-mysqli has been already incorporated into the php-mysql RPM package.
up
-9
Mark F
6 years ago
Just to note with regards to SSL and compression. MySQLnd and thus extensions using mysqlnd such as mysqli... now supports SSL and compression. Both have been supported inside mysqlnd since PHP 5.3.3 - http://www.php.net/manual/en/mysqlnd.overview.php
up
-14
josh dot ribakoff at gmail dot com
7 years ago
I kept getting configure errors:

/tmp/cc4f2PKd.o: In function `main':
/usr/src/php-5.3.0/configure:14287: undefined reference to `yp_get_default_domain'
collect2: ld returned 1 exit status
configure: failed program was:
#line 14270 "configure"
#include "confdefs.h"

The solution was to configure with mysql native driver as outlined on this page.
To Top