@@ -240,6 +240,7 @@ static zend_function_entry redis_functions[] = {
240240     PHP_ME (Redis , evalsha , NULL , ZEND_ACC_PUBLIC )
241241     PHP_ME (Redis , script , NULL , ZEND_ACC_PUBLIC )
242242
243+      PHP_ME (Redis , debug , NULL , ZEND_ACC_PUBLIC )
243244     PHP_ME (Redis , dump , NULL , ZEND_ACC_PUBLIC )
244245     PHP_ME (Redis , restore , NULL , ZEND_ACC_PUBLIC )
245246     PHP_ME (Redis , migrate , NULL , ZEND_ACC_PUBLIC )
@@ -6564,6 +6565,37 @@ PHP_METHOD(Redis, dump) {
65646565	REDIS_PROCESS_RESPONSE (redis_ping_response );
65656566}
65666567
6568+ /* {{{ proto Redis::DEBUG(string key) */ 
6569+ PHP_METHOD (Redis , debug ) {
6570+     zval  * object ;
6571+     RedisSock  * redis_sock ;
6572+     char  * cmd , * key ;
6573+     int  cmd_len , key_len , key_free ;
6574+ 
6575+     if (zend_parse_method_parameters (ZEND_NUM_ARGS () TSRMLS_CC , getThis (), "Os" , 
6576+                                     & object , redis_ce , & key , & key_len )== FAILURE )
6577+     {
6578+         RETURN_FALSE ;
6579+     }
6580+ 
6581+     /* Grab our socket */ 
6582+     if (redis_sock_get (object , & redis_sock  TSRMLS_CC , 0 )< 0 ) {
6583+         RETURN_FALSE ;
6584+     }
6585+ 
6586+     /* Prefix key, format command */ 
6587+     key_free  =  redis_key_prefix (redis_sock , & key , & key_len  TSRMLS_CC );
6588+     cmd_len  =  redis_cmd_format_static (& cmd , "DEBUG" , "ss" , "OBJECT" , sizeof ("OBJECT" )- 1 , key , key_len );
6589+     if (key_free ) efree (key );
6590+ 
6591+     /* Kick it off */ 
6592+     REDIS_PROCESS_REQUEST (redis_sock , cmd , cmd_len );
6593+     IF_ATOMIC () {
6594+         redis_debug_response (INTERNAL_FUNCTION_PARAM_PASSTHRU , redis_sock , NULL , NULL );
6595+     }
6596+     REDIS_PROCESS_RESPONSE (redis_debug_response );
6597+ }
6598+ 
65676599/* 
65686600 * {{{ proto Redis::restore(ttl, key, value) 
65696601 */ 
0 commit comments