1<?php 2 3if (file_exists (dirname (__FILE__) . '/config.inc.local')) { 4 include dirname (__FILE__) . '/config.inc.local'; 5} 6else { 7 define ("MEMC_SERVER_HOST", "127.0.0.1"); 8 define ("MEMC_SERVER_PORT", 11211); 9 10 //define ("MEMC_SASL_SERVER_HOST", "127.0.0.1"); 11 //define ("MEMC_SASL_SERVER_PORT", 11212); 12 13 //define ('MEMC_SASL_USER', 'memcached'); 14 //define ('MEMC_SASL_PASS', 'test'); 15} 16 17function memc_create_instance ($host, $port, array $opts = array (), $persistent_id = null) 18{ 19 $memcached = new Memcached($persistent_id); 20 if ($memcached->setOptions ($opts) == false) 21 echo "Failed to set options" . PHP_EOL; 22 23 $memcached->addServer($host, $port); 24 if ($memcached->flush() === false) { 25 return NULL; 26 } 27 return $memcached; 28} 29 30function memc_get_instance (array $opts = array (), $persistent_id = null) 31{ 32 return memc_create_instance(MEMC_SERVER_HOST, MEMC_SERVER_PORT, $opts, $persistent_id); 33} 34 35function memc_get_sasl_instance (array $opts = array (), $persistent_id = null) 36{ 37 return memc_create_instance(MEMC_SASL_SERVER_HOST, MEMC_SASL_SERVER_PORT, $opts, $persistent_id); 38} 39 40function memc_run_test ($test_function, $options = array ()) 41{ 42 foreach ($options as $option_set) { 43 $memc = memc_get_instance ($option_set ['options']); 44 $test_function ($memc, $option_set); 45 } 46 echo "TEST DONE" . PHP_EOL; 47} 48 49function memc_create_combinations ($name, $serializer, $ignore_object_type = false) 50{ 51 return array ( 52 array ( 53 'title' => "$name serializer, ascii protocol", 54 'options' => array ( 55 Memcached::OPT_SERIALIZER => $serializer 56 ), 57 'ignore_object_type' => $ignore_object_type 58 ), 59 array ( 60 'title' => "$name serializer, binary protocol", 61 'options' => array ( 62 Memcached::OPT_BINARY_PROTOCOL => true, 63 Memcached::OPT_SERIALIZER => $serializer 64 ), 65 'ignore_object_type' => $ignore_object_type 66 ), 67 ); 68} 69 70function memc_get_version($memc) { 71 $version = $memc->getVersion(); 72 return array_pop($version); 73} 74