- Установка
- Установка для Linux
- Установка для Windows
- PHP 5.0, 5.1, 5.2
- PHP 5.3.0+
- Установка модуля mysql для php
- Установка на Linux-системы
- Установка на Windows-системы
- PHP 5.0.x, 5.1.x, 5.2.x
- PHP 5.3.0+
- Замечания по установке MySQL
- Установка модуля mysql для php
- Установка для Linux
- Установка для Windows
- User Contributed Notes
Установка
Расширение mysqli было представлено с версией PHP 5.0.0. MySQL Native Driver был включен в PHP версии 5.3.0.
Установка для Linux
Большинство дистрибутивов Unix включает бинарные версии PHP, которые в дальнейшем могут быть установлены. Несмотря на то, что бинарные версии, как правило, собраны с включенной поддержкой расширений MySQL, может потребоваться установка дополнительных пакетов с библиотеками расширений. Убедитесь, что менеджер пакетов, идущий с выбранным дистрибутивом, позволяет установить такие пакеты.
В случае, если ваш Unix дистрибутив не поставляется с бинарным пакетом PHP с поддержкой расширения mysqli, то необходимо собрать 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.0.x, 5.1.x, 5.2.x | libmysqlclient | Недоступно | —with-mysqli=/path/to/mysql_config | |
5.3.x | libmysqlclient | —with-mysqli=mysqlnd | —with-mysqli=/path/to/mysql_config | mysqlnd поддерживается |
5.4.x | mysqlnd | —with-mysqli | —with-mysqli=/path/to/mysql_config | mysqlnd по умолчанию |
Необходимо отметить, что существует возможность свободно перемешивать расширения MySQL и клиентские библиотеки. Например, можно активировать расширение MySQL, позволяющее использовать MySQL Client Library (libmysqlclient), и при этом настроить расширение mysqli для использования MySQL Native Driver. Таким образом, возможны любые перестановки расширений и клиентских библиотек.
Приведенный ниже пример настраивает расширение MySQL для использования MySQL Client Library, а расширения mysqli и PDO MYSQL для работы с MySQL Native Driver:
./configure --with-mysql=/usr/bin/mysql_config \ --with-mysqli=mysqlnd \ --with-pdo-mysql=mysqlnd [other options]
Установка для Windows
Для Windows PHP в большинстве случаев устанавливается с помощью установщика.
PHP 5.0, 5.1, 5.2
После установки PHP необходимо произвести настройку для включения расширения 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 .
PHP 5.3.0+
Для Windows, в версиях PHP 5.3 и старше, расширение mysqli использует MySQL Native Driver по умолчанию. Это значит, что вам не нужно беспокоиться о настройке доступа к файлу libmysql.dll .
Установка модуля mysql для php
Данный модуль устарел, начиная с версии PHP 5.5.0, и удалён в PHP 7.0.0. Используйте вместо него MySQLi или PDO_MySQL. Смотрите также инструкцию MySQL: выбор API. Альтернативы для данной функции:
Для компиляции просто используйте опцию конфигурации —with-mysql[=DIR], где необязательный параметр [DIR] указывает на директорию с установленным MySQL.
Несмотря на то, что модуль MySQL совместим с MySQL 4.1.0 и выше, он не поддерживает дополнительную функциональность, предоставляемую этими версиями. Для получения такой возможности воспользуйтесь модулем MySQLi.
Если вы хотите установить модуль mysql совместно с mysqli, то для избежания каких-либо конфликтов необходимо использовать одну и ту же клиентскую библиотеку.
Установка на Linux-системы
Примечание: [DIR] является путём к файлам клиентской библиотеки MySQL (заголовкам и библиотекам), которые можно скачать с » MySQL.
PHP Версия | По умолчанию | Опции настройки: mysqlnd | Опции настройки: libmysqlclient | Список изменений |
---|---|---|---|---|
4.x.x | libmysqlclient | Недоступно | —without-mysql для отключения | MySQL включён по умолчанию, клиентские библиотеки MySQL входят в поставку PHP |
5.0.x, 5.1.x, 5.2.x | libmysqlclient | Недоступно | —with-mysql=[DIR] | MySQL больше не включён по умолчанию, и клиентские библиотеки MySQL больше не входят в поставку PHP |
5.3.x | libmysqlclient | —with-mysql=mysqlnd | —with-mysql=[DIR] | Стал доступен mysqlnd |
5.4.x | mysqlnd | —with-mysql | —with-mysql=[DIR] | mysqlnd выбирается по умолчанию |
Установка на Windows-системы
PHP 5.0.x, 5.1.x, 5.2.x
Поддержка MySQL больше не включена по умолчанию, поэтому для её включения необходимо подключить php_mysql.dll DLL внутри php.ini . Кроме этого, PHP понадобится доступ к клиентской библиотеке MySQL. Файл libmysql.dll поставляется в Windows дистрибутиве PHP, и для корректного общения PHP с MySQL, данный файл должен быть доступен в системном пути Windows PATH . О том как это сделать, смотрите FAQ «Как добавить мою PHP директорию в системный PATH на Windows?». Хотя копирование libmysql.dll в системную папку Windows также сработает (потому что системная папка находится по умолчанию в PATH ), это не рекомендуется.
Как и при включении любого другого модуля PHP (в том числе и php_mysql.dll ), директива extension_dir должна указывать на директорию, содержащую PHP-модули. Смотрите также Инструкции по ручной установке в Windows . Пример значения extension_dir для PHP 5: c:\php\ext
Замечание:
Если при старте веб-сервера происходит подобная ошибка: «Unable to load dynamic library ‘./php_mysql.dll'» , («Невозможно подгрузить динамическую библиотеку ‘./php_mysql.dll'»), то это случается из-за того, что на вашей системе не может быть найдена php_mysql.dll и/или libmysql.dll .
PHP 5.3.0+
MySQL Native Driver включён по умолчанию. В том числе php_mysql.dll , но без требования и использования libmysql.dll .
Замечания по установке MySQL
Сбои в работе PHP могут возникнуть при загрузке этого модуля вместе с модулем recode. За дополнительной информацией обращайтесь к разделу о модуле для recode.
Замечание:
Если вам требуется поддержка кодировок отличных от latin, (установленной по умолчанию), вам придётся установить внешнюю библиотеку libmysqlclient, скомпилированную с их поддержкой.
Установка модуля mysql для php
Модуль 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 DLL php_mysqli.dll должен быть включён в php.ini .
Как и при включении любого модуля PHP (например, php_mysqli.dll ), директива PHP extension_dir должна устанавливать каталог, в котором находятся модули PHP. Смотрите также раздел о самостоятельной установке PHP в Windows. Пример значения extension_dir — c:\php\ext .
Замечание:
Если при запуске веб-сервера возникает ошибка, подобная следующей: «Unable to load dynamic library ‘./php_mysqli.dll'» , это происходит потому, что файл php_mysqli.dll не может быть найден системой.