Spec-Zone .ru
спецификации, руководства, описания, API
|
Copyright 1997-2012 PHP Documentation Group.
Copyright 1997-2012 PHP Documentation Group.
Чтобы иметь эти функции в наличии, следует скомпилировать PHP с поддержкой mysqli расширения.
mysqli расширение разрабатывается, чтобы работать с версией 4.1.13 MySQL или более новый, или 5.0.7 или более новый. Для предыдущих версий, пожалуйста, см. документацию расширения MySQL.
Copyright 1997-2012 PHP Documentation Group.
mysqli
расширение было начато с версии 5.0.0 PHP. MySQL Native Driver был
включен в версию 5.3.0 PHP.
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]
Copyright 1997-2012 PHP Documentation Group.
На Windows PHP обычно устанавливается, используя двоичный установщик.
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, названный, "libmysql.dll
к
системному каталогу Windows (обычно c:\Windows\system
) также работы,
как системный каталог находится по умолчанию в системе PATH
. Однако, этой
практике строго обескураживают.
Как с включением любому расширению PHP (такой как php_mysqli.dll
),
направляющий extension_dir
значение для PHP 5 c:\php\ext
.
Если, запуская веб-сервер ошибка, подобная следующему, происходит: "Unable to load dynamic library './php_mysqli.dll'"
, это
то, потому что php_mysqli.dll
и/или libmysql.dll
не может быть найден системой.
Copyright 1997-2012 PHP Documentation Group.
На Windows, для версий PHP 5.3 и более новый, mysqli
расширение
включается и использует MySQL Native Driver по умолчанию. Это означает, что Вы не должны волноваться
о конфигурировании доступа к libmysql.dll
.
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
.
Copyright 1997-2012 PHP Documentation Group.
У этого расширения нет никаких определенных типов ресурсов.