CakeFest 2024: The Official CakePHP Conference

Настройка во время выполнения

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

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

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

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

mysqli.allow_local_infile int

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

mysqli.local_infile_directory string

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

mysqli.allow_persistent int

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

mysqli.max_persistent int

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

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

mysqli.default_port int

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

mysqli.default_socket string

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

mysqli.default_host string

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

mysqli.default_user string

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

mysqli.default_pw string

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

mysqli.reconnect int

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

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

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

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

add a note

User Contributed Notes 1 note

up
-19
User
2 years ago
About "mysqli.max_persistent int".
The documentation says "Set to 0 for unlimited".
Shouldn't the value be set to -1 for unlimited?
To Top