mysql_pconnect

(PHP 4, PHP 5)

mysql_pconnect打開一個(gè)到 MySQL 服務(wù)器的持久連接

警告

本擴(kuò)展自 PHP 5.5.0 起已廢棄,并在自 PHP 7.0.0 開始被移除。應(yīng)使用 MySQLiPDO_MySQL 擴(kuò)展來(lái)替換之。參見 MySQL:選擇 API 指南來(lái)獲取更多信息。用以替代本函數(shù)的有:

說(shuō)明

mysql_pconnect(
    string $server = ini_get("mysql.default_host"),
    string $username = ini_get("mysql.default_user"),
    string $password = ini_get("mysql.default_password"),
    int $client_flags = 0
): resource

打開一個(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() 建立的連接)。

此種連接稱為“持久的”。

參數(shù)

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_SPACEMYSQL_CLIENT_INTERACTIVE。

返回值

如果成功則返回一個(gè)正的 MySQL 持久連接標(biāo)識(shí)符,出錯(cuò)則返回 false

更新日志

版本 說(shuō)明
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)整,以確保不超過(guò) MySQL 服務(wù)器允許的最大連接數(shù)。

參見