@@ -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 )
@@ -6569,6 +6570,37 @@ PHP_METHOD(Redis, dump) {
65696570 REDIS_PROCESS_RESPONSE (redis_ping_response );
65706571}
65716572
6573+ /* {{{ proto Redis::DEBUG(string key) */
6574+ PHP_METHOD (Redis , debug ) {
6575+ zval * object ;
6576+ RedisSock * redis_sock ;
6577+ char * cmd , * key ;
6578+ int cmd_len , key_len , key_free ;
6579+
6580+ if (zend_parse_method_parameters (ZEND_NUM_ARGS () TSRMLS_CC , getThis (), "Os" ,
6581+ & object , redis_ce , & key , & key_len )== FAILURE )
6582+ {
6583+ RETURN_FALSE ;
6584+ }
6585+
6586+ /* Grab our socket */
6587+ if (redis_sock_get (object , & redis_sock TSRMLS_CC , 0 )< 0 ) {
6588+ RETURN_FALSE ;
6589+ }
6590+
6591+ /* Prefix key, format command */
6592+ key_free = redis_key_prefix (redis_sock , & key , & key_len TSRMLS_CC );
6593+ cmd_len = redis_cmd_format_static (& cmd , "DEBUG" , "ss" , "OBJECT" , sizeof ("OBJECT" )- 1 , key , key_len );
6594+ if (key_free ) efree (key );
6595+
6596+ /* Kick it off */
6597+ REDIS_PROCESS_REQUEST (redis_sock , cmd , cmd_len );
6598+ IF_ATOMIC () {
6599+ redis_debug_response (INTERNAL_FUNCTION_PARAM_PASSTHRU , redis_sock , NULL , NULL );
6600+ }
6601+ REDIS_PROCESS_RESPONSE (redis_debug_response );
6602+ }
6603+
65726604/*
65736605 * {{{ proto Redis::restore(ttl, key, value)
65746606 */
0 commit comments