运行时配置

这些函数的行为受 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

允许将 LOCAL DATA 加载限制在指定目录中的文件。

mysqli.allow_persistent int

启用使用 mysqli_connect() 创建持久连接的能力。

mysqli.max_persistent int

可以建立的持久连接的最大数量。设置为 0 表示无限制。

每个进程允许的最大 MySQL 连接数。

mysqli.default_port int

如果未指定其他端口,则连接到数据库服务器时使用的默认 TCP 端口号。如果没有指定默认值,则端口将按顺序从 MYSQL_TCP_PORT 环境变量、/etc/services 中的 mysql-tcp 条目或编译时的 MYSQL_PORT 常量获取。Win32 只会使用 MYSQL_PORT 常量。

mysqli.default_socket string

如果未指定其他套接字名称,则连接到本地数据库服务器时使用的默认套接字名称。

mysqli.default_host string

如果未指定其他主机,则连接到数据库服务器时使用的默认服务器主机。

mysqli.default_user string

如果未指定其他名称,则连接到数据库服务器时使用的默认用户名。

mysqli.default_pw string

如果未指定其他密码,则连接到数据库服务器时使用的默认密码。

mysqli.reconnect int

如果连接断开,则自动重新连接。

注意: php.ini 设置已被 mysqlnd 驱动程序忽略,并在 PHP 8.2.0 中移除。

如果启用此选项,关闭持久连接将在将连接放回持久连接池之前回滚该连接的任何挂起的事务。否则,挂起的事务将仅在重用连接或实际关闭连接时回滚。

用户无法通过 API 调用或运行时配置设置来设置 MYSQL_OPT_READ_TIMEOUT。请注意,如果可能的话,libmysqlclient 和流将以不同的方式解释 MYSQL_OPT_READ_TIMEOUT 的值。

添加注释

用户贡献的注释 1 则注释

用户
2 年前
关于 "mysqli.max_persistent int"。
文档说 "设置为 0 表示无限制"。
不应该将该值设置为 -1 表示无限制吗?
To Top