2012-01-28 18 views
7

Utilizzo i metodi Memcached::set() e Memcached::get(). La documentazione indica che se si verifica un errore o, in generale, per verificare lo stato di questi metodi, dovrei chiamare Memcached::getResultCode().Codici risultato estensione Memcached PHP

Dove posso trovare un elenco completo di codici risultato, con sia quello che rappresenta il codice risultato che i suoi valori numerici?

La cosa migliore che ho trovato finora è in alcuni commenti da Memcached::getResultCode(), ma l'elenco non include 8 e 47. Un altro elenco è nella pagina Memcached Predefined Constants, ma non include i valori numerici.

risposta

14

Ho trovato i codici di errore in the libmemcached source code.

0 = MEMCACHED_SUCCESS 
1 = MEMCACHED_FAILURE 
2 = MEMCACHED_HOST_LOOKUP_FAILURE // getaddrinfo() and getnameinfo() only 
3 = MEMCACHED_CONNECTION_FAILURE 
4 = MEMCACHED_CONNECTION_BIND_FAILURE // DEPRECATED see MEMCACHED_HOST_LOOKUP_FAILURE 
5 = MEMCACHED_WRITE_FAILURE 
6 = MEMCACHED_READ_FAILURE 
7 = MEMCACHED_UNKNOWN_READ_FAILURE 
8 = MEMCACHED_PROTOCOL_ERROR 
9 = MEMCACHED_CLIENT_ERROR 
10 = MEMCACHED_SERVER_ERROR // Server returns "SERVER_ERROR" 
11 = MEMCACHED_ERROR // Server returns "ERROR" 
11 = MEMCACHED_CONNECTION_SOCKET_CREATE_FAILURE = MEMCACHED_ERROR 
12 = MEMCACHED_DATA_EXISTS 
13 = MEMCACHED_DATA_DOES_NOT_EXIST 
14 = MEMCACHED_NOTSTORED 
15 = MEMCACHED_STORED 
16 = MEMCACHED_NOTFOUND 
17 = MEMCACHED_MEMORY_ALLOCATION_FAILURE 
18 = MEMCACHED_PARTIAL_READ 
19 = MEMCACHED_SOME_ERRORS 
20 = MEMCACHED_NO_SERVERS 
21 = MEMCACHED_END 
22 = MEMCACHED_DELETED 
23 = MEMCACHED_VALUE 
24 = MEMCACHED_STAT 
25 = MEMCACHED_ITEM 
26 = MEMCACHED_ERRNO 
27 = MEMCACHED_FAIL_UNIX_SOCKET // DEPRECATED 
28 = MEMCACHED_NOT_SUPPORTED 
29 = MEMCACHED_NO_KEY_PROVIDED /* Deprecated. Use MEMCACHED_BAD_KEY_PROVIDED! */ 
30 = MEMCACHED_FETCH_NOTFINISHED 
31 = MEMCACHED_TIMEOUT 
32 = MEMCACHED_BUFFERED 
33 = MEMCACHED_BAD_KEY_PROVIDED 
34 = MEMCACHED_INVALID_HOST_PROTOCOL 
35 = MEMCACHED_SERVER_MARKED_DEAD 
36 = MEMCACHED_UNKNOWN_STAT_KEY 
37 = MEMCACHED_E2BIG 
38 = MEMCACHED_INVALID_ARGUMENTS 
39 = MEMCACHED_KEY_TOO_BIG 
40 = MEMCACHED_AUTH_PROBLEM 
41 = MEMCACHED_AUTH_FAILURE 
42 = MEMCACHED_AUTH_CONTINUE 
43 = MEMCACHED_PARSE_ERROR 
44 = MEMCACHED_PARSE_USER_ERROR 
45 = MEMCACHED_DEPRECATED 
46 = MEMCACHED_IN_PROGRESS 
47 = MEMCACHED_SERVER_TEMPORARILY_DISABLED 
48 = MEMCACHED_SERVER_MEMORY_ALLOCATION_FAILURE 
49 = MEMCACHED_MAXIMUM_RETURN /* Always add new error code before */ 
+2

Eccellente. Ecco [** un pastebin che ho appena creato **] (http://pastebin.com/dE9y0xBi) che collega i codici restituiti libmemcached elencati sopra alle costanti dell'estensione PHP. Viene estratto direttamente dal codice di estensione 'php_memcached.c'. Speriamo che i nostri sforzi congiunti possano salvare le persone un po 'di tempo lungo la strada :) – rdlowrey

+0

Questo è così fantastico che l'ho aggiunto come commento alla pagina delle costanti Memcached. C'era un commento lì, ma abbastanza obsoleto. http://br2.php.net/manual/en/memcached.constants.php#118557 – igorsantos07