如果連線失敗,pconnect() 會將錯誤訊息寫入 stderr。此行為可能會導致非預期的輸出。
在 `pconnect()` 前面使用 '@' 以避免此情況。
<?php
$cache = new Memcache();
$stat = @$cache->pconnect('localhost', 11211);
if (false === $stat) {
// 連線失敗
}
// 連線成功
(PECL memcache >= 0.4.0)
Memcache::pconnect — 開啟 memcached 伺服器的持續連線
Memcache::pconnect() 與 Memcache::connect() 相似,差別在於它建立的連線是持續性的。此連線在腳本執行結束後以及經由 Memcache::close() 函式也不會關閉。您也可以使用 memcache_pconnect() 函式。
host
指向 memcached 正在監聽連線的主機。此參數也可能指定其他傳輸方式,例如 unix:///path/to/memcached.sock
以使用 UNIX 網域套接字,在此情況下 port
也必須設為 0
。
port
指向 memcached 正在監聽連線的連接埠。使用 UNIX 網域套接字時,請將此參數設定為 0
。
timeout
用於連線到守護程式的秒數值。在變更預設值 1 秒之前請三思 - 如果您的連線速度太慢,您可能會失去快取的所有優勢。
成功時回傳 Memcache 物件,失敗時回傳 false
。
範例 #1 Memcache::pconnect() 範例
<?php
/* 程序式 API */
$memcache_obj = memcache_pconnect('memcache_host', 11211);
/* 物件導向 API */
$memcache_obj = new Memcache;
$memcache_obj->pconnect('memcache_host', 11211);
?>
如果連線失敗,pconnect() 會將錯誤訊息寫入 stderr。此行為可能會導致非預期的輸出。
在 `pconnect()` 前面使用 '@' 以避免此情況。
<?php
$cache = new Memcache();
$stat = @$cache->pconnect('localhost', 11211);
if (false === $stat) {
// 連線失敗
}
// 連線成功