実行時設定
php.ini の設定により動作が変化します。
名前 | デフォルト | 変更可能 | 変更履歴 |
---|---|---|---|
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 を設定すると無制限となります。
-
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
の値の解釈する方法が違ってしまう可能性があることに注意しましょう。