Я искал способ хранения некоторых данных, поступающих через API, и иметь возможность доступа к этим данным из другого экземпляра того же скрипта. В основном, когда я получаю запрос, я хочу сохранить данные в течение 5 секунд и посмотреть, поступает ли другой запрос с одним из полей, соответствующих в течение 5 секунд. Я пробовал это несколькими способами с сеансами и с использованием APC. Ниже приведена версия кода APC, версия сеанса совпадает с битами APC, которые были отключены для соответствующих битов сеанса.PHP: Хранение данных для другого экземпляра вашего скрипта
Что происходит, так это то, что второй экземпляр скрипта не видит хранимую информацию независимо от того, какой механизм я пытался хранить.
Заранее благодарю вас за помощь.
//data exists, this is the second request with matching data.
if(apc_exists('key')){
//do work
//delete first request data from storage so it does not get processed below.
apc_delete('key');
} else {
//no data for this key, store data and wait 5 secs.
apc_add('key', $data);
sleep(5);
//stored data still exists, this is the only request coming with this data.
if(apc_exists('key')){
//do work
} else {
//data no longer exists, taken care of by other instance, just exit.
exit();
}
Вам не хватает закрывающего '' '. Это опечатка здесь или в вашем коде? 'apc_delete ('key);' –
Да, здесь была опечатка. Исправлена. Спасибо. – pita
Механизм сеанса будет работать только в том случае, если вы запрашивали с тем же браузером, так что это не то, что вы ищете. Тем не менее, решение APC должно делать работу просто отлично. У вас php работает как cgi/fcgid? –