@@ -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