2012-01-28 9 views
7

Estoy usando los métodos Memcached::set() y Memcached::get(). La documentación indica que si ocurre un error o, en general, para verificar el estado de estos métodos, debo llamar al Memcached::getResultCode().PHP códigos de resultado de extensión Memcached

¿Dónde puedo encontrar una lista completa de códigos de resultado, con lo que representa el código de resultado y cuáles son sus valores numéricos?

Lo mejor que he encontrado hasta ahora es en algunos comentarios de Memcached::getResultCode(), pero la lista no incluye 8 y 47. Otra lista está en la página Memcached Predefined Constants, pero no incluye los valores numéricos.

Respuesta

14

Encontré los códigos de error en 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

Excelente. Aquí está [** un pastebin que acabo de crear **] (http://pastebin.com/dE9y0xBi) que vincula los códigos de retorno libmemcached enumerados anteriormente con las constantes de extensión PHP. Se extrae directamente del código de extensión 'php_memcached.c'. Afortunadamente, nuestros esfuerzos combinados pueden salvar a las personas en el futuro :) – rdlowrey

+0

Este es tan increíble que lo agregué como comentario a la página de constantes de Memcached. Hubo un comentario allí, pero bastante desactualizado. http://br2.php.net/manual/en/memcached.constants.php#118557 – igorsantos07