PHPKonf: Istanbul PHP Conference 2017


php.ini の設定により動作が変化します。

MySQL 設定オプション
名前 デフォルト 変更可能 変更履歴
mysql.allow_local_infile "1" PHP_INI_SYSTEM  
mysql.allow_persistent "1" PHP_INI_SYSTEM  
mysql.max_persistent "-1" PHP_INI_SYSTEM  
mysql.max_links "-1" PHP_INI_SYSTEM  
mysql.trace_mode "0" PHP_INI_ALL PHP 4.3.0 以降で使用可能です。
mysql.default_port NULL PHP_INI_ALL  
mysql.default_socket NULL PHP_INI_ALL PHP 4.0.1 以降で使用可能です。
mysql.default_host NULL PHP_INI_ALL  
mysql.default_user NULL PHP_INI_ALL  
mysql.default_password NULL PHP_INI_ALL  
mysql.connect_timeout "60" PHP_INI_ALL PHP <= 4.3.2 では PHP_INI_SYSTEM で、PHP 4.3.0 以降で使用可能です。
PHP_INI_* モードの詳細および定義については どこで設定を行うのか を参照してください。

以下に設定ディレクティブに関する 簡単な説明を示します。

mysql.allow_local_infile integer

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

mysql.allow_persistent boolean

MySQL への 持続的接続 を可能にするかどうか。

mysql.max_persistent integer

プロセス毎の持続的 MySQL 接続の最大数。

持続的接続を含むプロセス毎の MySQL 接続の最大数。

mysql.trace_mode boolean

トレースモード。mysql.trace_mode が有効の場合、 テーブル/インデックスのスキャン時の警告・結果セットの未開放・SQL エラー などが画面に表示されます(PHP 4.3.0 以降で使用可能です)。

mysql.default_port string

他のポートが指定されない場合、データベースサーバー接続時に使用される デフォルトの TCP ポート番号。デフォルトが指定されない場合は、 環境変数 MYSQL_TCP_PORT/etc/servicesmysql-tcpエントリ・コンパイル時の MYSQL_PORT 定数の順番でポートが取得されます。 Win32 では、MYSQL_PORT 定数のみが使用されます。

mysql.default_socket string

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

mysql.default_host string

他のサーバー名が指定されない場合に、データベースサーバーへの接続時に 使用されるデフォルトのサーバー名。 SQL セーフモード では適用されません。

mysql.default_user string

他のユーザー名が指定されない場合に、データベースサーバーへの接続時に 使用されるデフォルトのユーザー名。 SQL セーフモード では適用されません。

mysql.default_password string

他のパスワードが指定されない場合に、データベースサーバーへの接続時に 使用されるデフォルトのパスワード。 SQL セーフモード では適用されません。

mysql.connect_timeout integer

接続の有効時間(単位:秒)。Linux では、この有効時間はサーバーからの 最初の応答の待ち時間としても使用されます。

add a note add a note

User Contributed Notes 2 notes

8 years ago
you can also easily work around the issue if you simply create a symbolic link to the socket by executing the following in terminal:

sudo mkdir /var/mysql
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock

[EDIT BY danbrown AT php DOT net: Typo spotted by (asterizk AT me DOT com) - "should probably say 'sudo ln -s ...'"]
8 years ago
mysql_default_socket can take a filename as the argument.  By default--at least with the default configuration provided by Mac OS X 10.5--it is /var/mysql/mysql.sock.  If necessary, you can edit your php.ini to change it to /tmp/mysql.sock.
To Top