Получающий узел больше не существует в php и xml с memcache - PullRequest
0 голосов
/ 26 февраля 2012

У меня есть следующий код, который кэширует вывод XML. Проблема в том, что после кэширования объекта xml в memcache, а затем при обращении к объекту xml в memcache я получаю сообщение об ошибке:

"Предупреждение: Memcache :: get () [memcache.get]: Узел больше не существует в ..."

$cachekey = md5($url);

$memcache = new Memcache;
$memcache->connect('localhost', 11211) or die ("Could not connect");
$data = $memcache->get($cachekey);

if($data === FALSE)
{

$data = simplexml_load_file($url);

$memcache->set($cachekey,$data,FALSE,900) or die ("Failed to create cache set");

}

Как я могу это исправить? Спасибо!

1 Ответ

0 голосов
/ 26 февраля 2012

Хорошо, я заставил его работать, вместо загрузки XML-файла с URL-адреса, я загрузил его в строку, а затем загрузил XML из строки:

$cachekey = md5($url);

$memcache = new Memcache;
$memcache->connect('localhost', 11211) or die ("Could not connect");
$data = $memcache->get($cachekey);

if($data === FALSE)
{

$data = file_get_contents($url);

$memcache->set($cachekey,$data,FALSE,900) or die ("Failed to create cache set");

}

$xmldata = simplexml_load_string($data);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...