Php настройка поддержки mysql

Php настройка поддержки mysql

The mysqli extension was introduced with PHP version 5.0.0. The MySQL Native Driver was included in PHP version 5.3.0.

Installation on Linux

The common Unix distributions include binary versions of PHP that can be installed. Although these binary versions are typically built with support for the MySQL extensions, the extension libraries themselves may need to be installed using an additional package. Check the package manager that comes with your chosen distribution for availability.

For example, on Ubuntu the php5-mysql package installs the ext/mysql, ext/mysqli, and pdo_mysql PHP extensions. On CentOS, the php-mysql package also installs these three PHP extensions.

Alternatively, you can compile this extension yourself. Building PHP from source allows you to specify the MySQL extensions you want to use, as well as your choice of client library for each extension.

The MySQL Native Driver is the recommended client library option, as it results in improved performance and gives access to features not available when using the MySQL Client Library. Refer to What is PHP’s MySQL Native Driver? for a brief overview of the advantages of MySQL Native Driver.

The /path/to/mysql_config represents the location of the mysql_config program that comes with MySQL Server.

mysqli compile time support matrix

PHP Version Default Configure Options: mysqlnd Configure Options: libmysqlclient Changelog
5.4.x and above mysqlnd —with-mysqli —with-mysqli=/path/to/mysql_config mysqlnd is the default
5.3.x libmysqlclient —with-mysqli=mysqlnd —with-mysqli=/path/to/mysql_config mysqlnd is supported
5.0.x, 5.1.x, 5.2.x libmysqlclient Not Available —with-mysqli=/path/to/mysql_config mysqlnd is not supported

Note that it is possible to freely mix MySQL extensions and client libraries. For example, it is possible to enable the MySQL extension to use the MySQL Client Library (libmysqlclient), while configuring the mysqli extension to use the MySQL Native Driver. However, all permutations of extension and client library are possible.

Читайте также:  Java test method naming

Installation on Windows Systems

On Windows, php_mysqli.dll DLL must be enabled in php.ini .

As with enabling any PHP extension (such as php_mysqli.dll ), the PHP directive extension_dir should be set to the directory where the PHP extensions are located. See also the Manual Windows Installation Instructions. An example extension_dir value is c:\php\ext .

Note:

If when starting the web server an error similar to the following occurs: «Unable to load dynamic library ‘./php_mysqli.dll'» , this is because php_mysqli.dll cannot be found by the system.

User Contributed Notes

Источник

Php настройка поддержки mysql

Поведение этих функций зависит от установок в php.ini .

Параметры конфигурации MySQLi

Имя По умолчанию Место изменения Список изменений
mysqli.allow_local_infile «0» PHP_INI_SYSTEM До PHP 7.2.16 и 7.3.3 значением по умолчанию было «1».
mysqli.local_infile_directory PHP_INI_SYSTEM Доступно, начиная с PHP 8.1.0.
mysqli.allow_persistent «1» PHP_INI_SYSTEM
mysqli.max_persistent «-1» PHP_INI_SYSTEM
mysqli.max_links «-1» PHP_INI_SYSTEM
mysqli.default_port «3306» PHP_INI_ALL
mysqli.default_socket NULL PHP_INI_ALL
mysqli.default_host NULL PHP_INI_ALL
mysqli.default_user NULL PHP_INI_ALL
mysqli.default_pw NULL PHP_INI_ALL
mysqli.reconnect «0» PHP_INI_SYSTEM Удалено, начиная с PHP 8.2.0
mysqli.rollback_on_cached_plink «0» PHP_INI_SYSTEM

Прочие детали и определения констант PHP_INI_* смотрите в разделе конфигурационные изменения.

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

Разрешает доступ к локальным файлам, с точки зрения PHP, с помощью инструкций LOAD DATA.

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

Включает возможность создавать постоянные соединения с помощью mysqli_connect() .

Максимально возможное количество постоянных соединений. Для неограниченного количества установите в 0.

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

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

Читайте также:  Блокнот для файла php

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

Имя сервера, которое используется, если имя не было указано явно.

Имя пользователя, используемое по умолчанию, если имя не было указано явно.

Пароль, используемый по умолчанию для подключения к БД, если пароль не был явно указан.

Автоматически восстанавливать соединение при его потере.

Замечание: Эта настройка игнорируется драйвером «mysqlnd» и была удалена в PHP 8.2.0.

Если этот параметр включён, закрытие постоянного соединения откатит любые ожидающие транзакции этого соединения, прежде чем оно будет возвращено в пул постоянных соединений. В противном случае ожидающие соединения будут откатываться только тогда, когда соединение будет повторно использовано или когда оно будет фактически закрыто.

Пользователи не могут устанавливать MYSQL_OPT_READ_TIMEOUT с помощью API-вызовов или установки конфигурационных значений во время работы скрипта. Учтите, что если бы это было возможно, то libmysqlclient и потоки по-разному обрабатывали бы значение MYSQL_OPT_READ_TIMEOUT .

Источник

Php настройка поддержки mysql

Данный модуль устарел, начиная с версии 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.

Таблица компиляции ext/mysql по версиям PHP

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 выбирается по умолчанию
Читайте также:  Php mysqli set database

Установка на 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, скомпилированную с их поддержкой.

Источник

Оцените статью