(PHP 4, PHP 5)
mysql_pconnect — 打開一個(gè)到 MySQL 服務(wù)器的持久連接
本擴(kuò)展自 PHP 5.5.0 起已廢棄,并在自 PHP 7.0.0 開始被移除。應(yīng)使用 MySQLi 或 PDO_MySQL 擴(kuò)展來替換之。參見 MySQL:選擇 API 指南來獲取更多信息。用以替代本函數(shù)的有:
p:
host prefixPDO::ATTR_PERSISTENT
as a driver option$server
= ini_get("mysql.default_host"),$username
= ini_get("mysql.default_user"),$password
= ini_get("mysql.default_password"),$client_flags
= 0打開一個(gè)到 MySQL 服務(wù)器的持久連接。
mysql_pconnect() 和 mysql_connect() 非常相似,但有兩個(gè)主要區(qū)別。
首先,當(dāng)連接的時(shí)候本函數(shù)將先嘗試尋找一個(gè)在同一個(gè)主機(jī)上用同樣的用戶名和密碼已經(jīng)打開的(持久)連接,如果找到,則返回此連接標(biāo)識(shí)而不打開新連接。
其次,當(dāng)腳本執(zhí)行完畢后到 SQL 服務(wù)器的連接不會(huì)被關(guān)閉,此連接將保持打開以備以后使用(mysql_close() 不會(huì)關(guān)閉由 mysql_pconnect() 建立的連接)。
此種連接稱為“持久的”。
server
MySQL 服務(wù)器地址,參數(shù)也可以包括端口號(hào),例如 “hostname:port“ 或者是本機(jī)套接字的的路徑,例如 “:/path/to/socket“
如果 PHP 配置文件中 mysql.default_host 的值未設(shè)置(默認(rèn)情況下),則默認(rèn)值為 'localhost:3306'
username
數(shù)據(jù)庫(kù)連接使用的用戶名。默認(rèn)為當(dāng)前服務(wù)器進(jìn)程的用戶。
password
數(shù)據(jù)庫(kù)連接使用的密碼。默認(rèn)為空密碼。
client_flags
參數(shù) client_flags
可以為以下常量:
128 (enable LOAD DATA LOCAL
handling),
MYSQL_CLIENT_SSL
,
MYSQL_CLIENT_COMPRESS
,
MYSQL_CLIENT_IGNORE_SPACE
或
MYSQL_CLIENT_INTERACTIVE
。
如果成功則返回一個(gè)正的 MySQL 持久連接標(biāo)識(shí)符,出錯(cuò)則返回 false
。
版本 | 說明 |
---|---|
5.5.0 |
函數(shù)會(huì)拋出一個(gè) E_DEPRECATED 錯(cuò)誤。
|
注意:
需要注意的是,此函數(shù)僅當(dāng)在 PHP 模塊化運(yùn)行時(shí)才會(huì)生效。更多信息請(qǐng)參閱 持久數(shù)據(jù)庫(kù)連接 章節(jié)。
使用持久連接可能需要對(duì) Apache 和 MySQL 配置進(jìn)行一些調(diào)整,以確保不超過 MySQL 服務(wù)器允許的最大連接數(shù)。