1--TEST-- 2Test libmemcached encryption 3--SKIPIF-- 4<?php 5include dirname (__FILE__) . '/config.inc'; 6if (!extension_loaded("memcached")) die ("skip"); 7if (!Memcached::HAVE_ENCODING) die ("skip no set_encoding_key support enabled"); 8if (Memcached::LIBMEMCACHED_VERSION_HEX >= 0x01000018) die ("skip test for libmemcached lower than 1.0.18"); 9?> 10--FILE-- 11<?php 12include dirname (__FILE__) . '/config.inc'; 13$m = memc_get_instance (); 14$key = uniqid ('encoding_test_'); 15 16var_dump ($m->setEncodingKey("Hello")); 17var_dump ($m->set ($key, 'set using encoding')); 18var_dump ($m->get ($key)); 19 20echo "OK" . PHP_EOL; 21 22# libmemcached < 1.0.18 goes into a bad state when the encoding key is changed, 23# so php-memcached warns and returns false when trying to change the key. 24var_dump ($m->setEncodingKey("World")); 25 26echo "OK" . PHP_EOL; 27 28?> 29--EXPECTF-- 30bool(true) 31bool(true) 32string(18) "set using encoding" 33OK 34 35Warning: Memcached::setEncodingKey(): libmemcached versions less than 1.0.18 cannot change encoding key in %s on line %d 36bool(false) 37OK 38