How do I test if memcache or memcached (for PHP) is installed on my Apache webserver?
Memcache is a caching daemon designed especially for dynamic web applications to decrease database load by storing objects in memory.
How do I test if memcache or memcached (for PHP) is installed on my Apache webserver?
Memcache is a caching daemon designed especially for dynamic web applications to decrease database load by storing objects in memory.
I combined, minified and extended (some more checks) the answers from @Bijay Rungta and @J.C. Inacio
<?php
if(!extension_loaded('Memcache'))
{
die("Memcache extension is not loaded");
}
if (!class_exists('Memcache'))
{
die('Memcache class not available');
}
$memcacheObj = new Memcache;
if(!$memcacheObj)
{
die('Could not create memcache object');
}
if (!$memcacheObj->connect('localhost'))
{
die('Could not connect to memcache server');
}
// testdata to store in memcache
$testData = array(
'the' => 'cake',
'is' => 'a lie',
);
// set data (if not present)
$aData = $memcacheObj->get('data');
if (!$aData)
{
if(!$memcacheObj->set('data', $testData, 0, 300))
{
die('Memcache could not set the data');
}
}
// try to fetch data
$aData = $memcacheObj->get('data');
if (!$aData)
{
die('Memcache is not responding with data');
}
if($aData !== $testData)
{
die('Memcache is responding but with wrong data');
}
die('Memcache is working fine');