根據php.net,memcache_connect()
should return TRUE
on success or FALSE
on failure。因此,我想如果我改變我的緩存服務器地址到一個不存在的地址下面的代碼應該工作就算了,但事實並非如此:使用PHP檢查是否存在memcache連接?
$memcache=memcache_connect('myCacheServer.com', 11211);
if($memcache){
$this->connect=$memcache;
}
else{
$memcache=memcache_connect('localhost', 11211);
$this->connect=$memcache;
}
下面是錯誤消息我得到:
Message: memcache_connect(): php_network_getaddresses: getaddrinfo failed: Temporary
failure in name resolution
有誰知道我可以如何設置這個簡單的布爾值?
地址仍需要有效。嘗試** http://google.com**。服務器應嘗試連接,但不會找到memcache服務器並返回FALSE。儘管取決於域如何處理請求,但可能無法正常工作。 – donutdan4114
你爲什麼說它不起作用? $ memcache將是真或假 - $ this-> connect應該是什麼?你期待一個對象,或布爾? (請注意,我會在一個答案中發佈更好的方法,但不知道爲什麼上述「dopesn't工作」) – Robbie
@ donutdan4114我想這個代碼來處理的情況下,如果地址是無效的。例如,如果服務器停機。如果發生這種情況,我想在本地主機上緩存。 –