-
Notifications
You must be signed in to change notification settings - Fork 105
/
Copy pathmysql-pconnect.xml
164 lines (157 loc) · 5.85 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
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 5fabd07880ab15b0ad2cf7eb055c7c2b36d7120f Maintainer: avenger Status: ready -->
<!-- CREDITS: mowangjuanzi -->
<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> with <literal>p:</literal> host prefix</member>
<member><methodname>PDO::__construct</methodname> with <constant>PDO::ATTR_PERSISTENT</constant> as a driver option</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> 非常相似,但有两个主要区别。
</para>
<para>
首先,当连接的时候本函数将先尝试寻找一个在同一个主机上用同样的用户名和密码已经打开的(持久)连接,如果找到,则返回此连接标识而不打开新连接。
</para>
<para>
其次,当脚本执行完毕后到 SQL 服务器的连接不会被关闭,此连接将保持打开以备以后使用(<function>mysql_close</function>
不会关闭由 <function>mysql_pconnect</function> 建立的连接)。
</para>
<para>
此种连接称为“持久的”。
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>server</parameter></term>
<listitem>
<para>
MySQL 服务器地址,参数也可以包括端口号,例如
“hostname:port“ 或者是本机套接字的的路径,例如 “:/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 (enable <literal>LOAD DATA LOCAL</literal> handling),
<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 持久连接标识符,出错则返回 &false;。
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<note>
<para>
需要注意的是,此函数仅当在 PHP 模块化运行时才会生效。更多信息请参阅
<link linkend="features.persistent-connections">持久数据库连接</link> 章节。
</para>
</note>
<warning>
<para>
使用持久连接可能需要对 Apache 和 MySQL 配置进行一些调整,以确保不超过
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
-->