forked from php/doc-ja
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmysql-pconnect.xml
177 lines (170 loc) · 6.66 KB
/
mysql-pconnect.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 5fabd07880ab15b0ad2cf7eb055c7c2b36d7120f Maintainer: takagi Status: ready -->
<!-- CREDITS: hirokawa -->
<refentry xml:id="function.mysql-pconnect" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>mysql_pconnect</refname>
<refpurpose>MySQL サーバーへの持続的な接続をオープンする</refpurpose>
</refnamediv>
<refsynopsisdiv>
<warning>
&mysql.alternative.note;
<simplelist role="alternatives">
<member><function>mysqli_connect</function> にホストプレフィックス <literal>p:</literal> を指定</member>
<member><methodname>PDO::__construct</methodname> のドライバオプションで <constant>PDO::ATTR_PERSISTENT</constant> を指定</member>
</simplelist>
</warning>
</refsynopsisdiv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>resource</type><methodname>mysql_pconnect</methodname>
<methodparam choice="opt"><type>string</type><parameter>server</parameter><initializer>ini_get("mysql.default_host")</initializer></methodparam>
<methodparam choice="opt"><type>string</type><parameter>username</parameter><initializer>ini_get("mysql.default_user")</initializer></methodparam>
<methodparam choice="opt"><type>string</type><parameter>password</parameter><initializer>ini_get("mysql.default_password")</initializer></methodparam>
<methodparam choice="opt"><type>int</type><parameter>client_flags</parameter><initializer>0</initializer></methodparam>
</methodsynopsis>
<!-- Undocumented confusing syntax:
<methodsynopsis>
<type>resource</type><methodname>mysql_pconnect</methodname>
<methodparam choice="opt"><type>string</type><parameter>server</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>username</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>password</parameter></methodparam>
<methodparam choice="opt"><type>bool</type><parameter>new_link</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>client_flags</parameter></methodparam>
</methodsynopsis>
-->
<para>
MySQL サーバーとの持続的な接続を確立します。
</para>
<!-- TODO: Integrate this information more nicely with features.persistent -->
<para>
<function>mysql_pconnect</function>は、
<function>mysql_connect</function>とよく似た動作をしますが、
2 つの大きな違いがあります。
</para>
<para>
1 番目の違いとして、この関数は接続時にまず
同じホスト、ユーザー名、パスワードを有する(持続的)リンクが
すでにオープンされていないかどうかを調べます。
それがみつかった場合、新規の接続をオープンする代わりに
そのリンクの ID が返されます。
</para>
<para>
2 番目の違いは、スクリプトの実行が終了しても SQL サーバーとの接続が
閉じられないということです。そのかわりに、将来再利用されるために
リンクがオープンされたままとなります(<function>mysql_close</function>
は、<function>mysql_pconnect</function> によって確立されたリンクを
閉じません)。
</para>
<para>
このため、この型のリンクは、'持続的(persistent)'であると言われます。
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>server</parameter></term>
<listitem>
<para>
MySQL サーバー。"hostname:port" のようにポート番号を
指定することが可能で、localhost では ":/path/to/socket"
のようにソケットへのパスを指定することも可能です。
</para>
<para>
PHP ディレクティブ <link linkend="ini.mysql.default-host">
mysql.default_host</link> が指定されない場合(デフォルト)、
'localhost:3306' が使用されます。
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>username</parameter></term>
<listitem>
<para>
ユーザー名。デフォルト値はサーバープロセスの所有ユーザー名です。
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>password</parameter></term>
<listitem>
<para>
パスワード。デフォルト値は空のパスワードです。
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>client_flags</parameter></term>
<listitem>
<para>
パラメータ <parameter>client_flags</parameter> は、
以下の定数の組み合わせです:
128 (<literal>LOAD DATA LOCAL</literal> の処理を有効にする)、
<constant>MYSQL_CLIENT_SSL</constant>、
<constant>MYSQL_CLIENT_COMPRESS</constant>、
<constant>MYSQL_CLIENT_IGNORE_SPACE</constant> または
<constant>MYSQL_CLIENT_INTERACTIVE</constant>
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
成功した場合に MySQL 持続的リンク ID を、失敗した場合に &false; を返します。
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<note>
<para>
この接続方法は、モジュールバージョンの PHP でのみ使用可能であることに
注意しましょう。詳しい情報は
<link linkend="features.persistent-connections">持続的
データベース接続</link> を参照ください。
</para>
</note>
<warning>
<para>
持続的接続を利用する場合、MySQL の同時接続数の制限をこえないように
Apache や MySQL の設定を多少変更する必要があるかも知れません。
</para>
</warning>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>mysql_connect</function></member>
<member><link linkend="features.persistent-connections">Persistent
Database Connections</link></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->