## 実行時設定

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` bool

  PHP 側から、LOAD DATA 文によるローカルファイルへのアクセスを許可する。

`mysqli.local_infile_directory` string

  LOCAL DATA 文によるファイルのロードを、 ここで指定したディレクトリに制限する機能を有効にします。

`mysqli.allow_persistent` bool

  mysqli_connect() による持続的接続の作成機能を有効にします。

`mysqli.max_persistent` int

  作成できる持続的接続の最大数。0 を設定すると無制限となります。

`mysqli.max_links` int

  プロセス毎の 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_password` string

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

`mysqli.reconnect` int

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

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

`mysqli.rollback_on_cached_plink` bool

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

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

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open