PHP APC: кеш заблокирован процессом, работает только синхронно - PullRequest
0 голосов
/ 03 ноября 2018

Мой код PHP APC перестал работать после обновления до PHP-FPM. Сценарий прост: один процесс php записывает переменную в память APC в цикле, а другой процесс php извлекает ее асинхронно.

1-й скрипт (тестовый образец):

for($i=1; $i<1000; $++){
    .........................
    apc_store("mrg_test",$some_var,300); 
    $t = apc_fetch("mrg_test"); 
    echo "Test: $t";
}

Второй скрипт запускается как другой процесс php из другого файла во время работы первого процесса:

$t = apc_fetch("mrg_test"); 
echo "Test: $t";

Эти сценарии работают на php apache в течение многих лет, но не работают на PHP-FPM: второй сценарий не может извлечь память APC до тех пор, пока 1-й сценарий не завершится . Только после завершения первого сценария второй сценарий может прочитать последнее значение $ t.

Любые предложения о том, как читать память APC, когда исходный процесс все еще работает?

Спасибо

...