実行時設定

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/servicesmysql-tcpエントリ・コンパイル時の MYSQL_PORT 定数の順番でポートが取得されます。 Win32 では、MYSQL_PORT 定数のみが使用されます。

mysqli.default_socket string

他にソケット名が指定されない場合、ローカルな データベースサーバーに接続する時のデフォルトのソケット名。

mysqli.default_host string

他のサーバー名が指定されない場合に、データベースサーバーへの接続時に 使用されるデフォルトのサーバー名。

mysqli.default_user string

他のユーザー名が指定されない場合に、データベースサーバーへの接続時に 使用されるデフォルトのユーザー名。

mysqli.default_password string

他のパスワードが指定されない場合に、データベースサーバーへの接続時に 使用されるデフォルトのパスワード。

mysqli.reconnect int

接続が失われたときに自動的に再接続するかどうか。

注意: mysqlnd ドライバは、この php.ini 設定項目を無視していました。 そして、PHP 8.2.0 で削除されました。

このオプションを有効にすると、接続を閉じて時持続的接続プールに接続を戻す前に、 この接続で保留中だったあらゆるトランザクションがロールバックされます。 このオプションが無効だった場合、接続が再利用されるとき、または実際に閉じられるときだけ、 保留中のトランザクションがロールバックされます。

MYSQL_OPT_READ_TIMEOUT を、 API コールや実行時の設定で指定することはできません。 もしそんなことができてしまうと、libmysqlclient とストリームで MYSQL_OPT_READ_TIMEOUT の値の解釈する方法が違ってしまう可能性があることに注意しましょう。