Spec-Zone .ru
спецификации, руководства, описания, API

22.9.3.4. Установка/Конфигурирование

Copyright 1997-2012 PHP Documentation Group.

22.9.3.4.1. Требования

Copyright 1997-2012 PHP Documentation Group.

Чтобы иметь эти функции в наличии, следует скомпилировать PHP с поддержкой mysqli расширения.

Отметить

mysqli расширение разрабатывается, чтобы работать с версией 4.1.13 MySQL или более новый, или 5.0.7 или более новый. Для предыдущих версий, пожалуйста, см. документацию расширения MySQL.

22.9.3.4.2. Установка

Copyright 1997-2012 PHP Documentation Group.

mysqli расширение было начато с версии 5.0.0 PHP. MySQL Native Driver был включен в версию 5.3.0 PHP.

22.9.3.4.2.1. Установка на Linux

Copyright 1997-2012 PHP Documentation Group.

Общие дистрибутивы 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.

Таблица 22.43. время компиляции mysqli поддерживает матрицу

Версия PHP Значение по умолчанию Сконфигурируйте Options: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 и расширения MYSQL PDO, чтобы использовать MySQL Native Driver:

./configure --with-mysql=/usr/bin/mysql_config  \--with-mysqli=mysqlnd \--with-pdo-mysql=mysqlnd[other options]
22.9.3.4.2.2. Установка на Windows Systems

Copyright 1997-2012 PHP Documentation Group.

На Windows PHP обычно устанавливается, используя двоичный установщик.

22.9.3.4.2.2.1. PHP 5.0, 5.1, 5.2

Copyright 1997-2012 PHP Documentation Group.

Как только PHP был установлен, некоторая конфигурация обязана включать mysqli и определите клиентскую библиотеку, которой Вы хотите, чтобы это пользовалось.

mysqli расширение не включается по умолчанию, таким образом, php_mysqli.dll DLL должен быть включен в php.ini. Чтобы сделать это, Вы должны найти php.ini файл (обычно располагаемый в c:\php), и удостоверьтесь, что Вы удаляете комментарий (точка с запятой) из запуска строки extension=php_mysqli.dll, в отмеченном разделе [PHP_MYSQLI].

Кроме того, если Вы хотите использовать MySQL Client Library с mysqli, Вы должны удостовериться, что PHP может получить доступ к клиентскому файлу библиотеки. MySQL Client Library включается как названный файл libmysql.dll в распределении Windows PHP. Этот файл должен быть доступным в системе Windows PATH переменная окружения, так, чтобы это могло быть успешно загружено. См. FAQ, названный, "Как делают я добавляю свой каталог PHP к ПУТИ на Windows" для информации о том, как сделать это. Копирование libmysql.dll к системному каталогу Windows (обычно c:\Windows\system) также работы, как системный каталог находится по умолчанию в системе PATH. Однако, этой практике строго обескураживают.

Как с включением любому расширению PHP (такой как php_mysqli.dll), направляющий extension_dir PHP должен быть установлен в каталог, где расширения PHP располагаются. См. также Инструкции по установке Windows Manual. Пример extension_dir значение для PHP 5 c:\php\ext.

Отметить

Если, запуская веб-сервер ошибка, подобная следующему, происходит: "Unable to load dynamic library './php_mysqli.dll'", это то, потому что php_mysqli.dll и/или libmysql.dll не может быть найден системой.

22.9.3.4.2.2.2. PHP 5.3.0 +

Copyright 1997-2012 PHP Documentation Group.

На Windows, для версий PHP 5.3 и более новый, mysqli расширение включается и использует MySQL Native Driver по умолчанию. Это означает, что Вы не должны волноваться о конфигурировании доступа к libmysql.dll.

22.9.3.4.3. Конфигурация времени выполнения

Copyright 1997-2012 PHP Documentation Group.

На поведение этих функций влияют настройки в php.ini.

Таблица 22.44. Параметры конфигурации MySQLi

Имя Значение по умолчанию Изменчивый Журнал изменений
mysqli.allow_local_infile "1" PHP_INI_SYSTEM Доступный начиная с PHP 5.2.4.
mysqli.allow_persistent "1" PHP_INI_SYSTEM Доступный начиная с PHP 5.3.0.
mysqli.max_persistent "-1" PHP_INI_SYSTEM Доступный начиная с PHP 5.3.0.
mysqli.max_links "-1" PHP_INI_SYSTEM Доступный начиная с PHP 5.0.0.
mysqli.default_port "3306" PHP_INI_ALL Доступный начиная с PHP 5.0.0.
mysqli.default_socket НУЛЬ PHP_INI_ALL Доступный начиная с PHP 5.0.0.
mysqli.default_host НУЛЬ PHP_INI_ALL Доступный начиная с PHP 5.0.0.
mysqli.default_user НУЛЬ PHP_INI_ALL Доступный начиная с PHP 5.0.0.
mysqli.default_pw НУЛЬ PHP_INI_ALL Доступный начиная с PHP 5.0.0.
mysqli.reconnect "0" PHP_INI_SYSTEM Доступный начиная с PHP 4.3.5.
mysqli.cache_size "2000" PHP_INI_SYSTEM Доступный начиная с PHP 5.3.0.

Для получения дальнейшей информации и определения предыдущих констант PHP_INI_*, см. главу по изменениям конфигурации.

Вот короткое объяснение конфигурационных директив.

mysqli.allow_local_infile целое число

Позвольте получать доступ, с точки зрения PHP, локальных файлов с операторами LOAD DATA

mysqli.allow_persistent целое число

Включите возможности создать персистентное использование соединений mysqli_connect.

mysqli.max_persistent целое число

Максимум персистентных соединений, которые могут быть сделаны. Набор к 0 для неограниченного.

mysqli.max_links целое число

Максимальное количество соединений MySQL для каждого процесса.

mysqli.default_port целое число

Номер порта TCP значения по умолчанию, чтобы использовать, соединяясь с сервером базы данных, если никакой другой порт не определяется. Если никакое значение по умолчанию не будет определено, то порт будет получен из MYSQL_TCP_PORT переменная окружения, mysql-tcp запись в /etc/services или время компиляции MYSQL_PORT постоянный, в том порядке. Win32 будет только использовать MYSQL_PORT постоянный.

mysqli.default_socket строка

Сокет значения по умолчанию называет, чтобы использовать, соединяясь с локальным сервером базы данных, если никакое другое имя сокета не определяется.

mysqli.default_host строка

Сервер значения по умолчанию размещает, чтобы использовать, соединяясь с сервером базы данных, если никакой другой узел не определяется. Не применяется в безопасном режиме.

mysqli.default_user строка

Имя пользователя значения по умолчанию, чтобы использовать, соединяясь с сервером базы данных, если никакое другое имя не определяется. Не применяется в безопасном режиме.

mysqli.default_pw строка

Пароль значения по умолчанию, чтобы использовать, соединяясь с сервером базы данных, если никакой другой пароль не определяется. Не применяется в безопасном режиме.

mysqli.reconnect целое число

Автоматически повторно соединитесь, если соединение было потеряно.

mysqli.cache_size целое число

Доступный только с mysqlnd.

Пользователи не могут установить MYSQL_OPT_READ_TIMEOUT через вызов API или параметр конфигурации времени выполнения. Отметьте, что, если бы это было возможно, были бы различия между как libmysqlclient и потоки интерпретировали бы значение MYSQL_OPT_READ_TIMEOUT.

22.9.3.4.4. Типы ресурсов

Copyright 1997-2012 PHP Documentation Group.

У этого расширения нет никаких определенных типов ресурсов.