2015-12-16 3 views
3

APCu будет извлекать только значения, сохраненные в текущей загрузке страницы.APCu не хранится в PHP 7

Освежающие это дважды:

<?php 
var_dump(apcu_fetch("test")); 

apcu_store("test", "works", 3600); 
var_dump(apcu_fetch("test")); 
?> 

выводит следующее:

bool(false) string(5) "works" 

Так он хранит данные, а текущая страница загружается. После этого его больше не существует ...

Я использую последнюю стабильную версию (5.1.2) с настройкой по умолчанию на PHP 7.0.0.

Я пробовал разные версии APCu и PHP 7. Также не может найти что-нибудь похожее на Google ...

Это моя конфигурация PHP apcu: Broken APCu configuration

+0

У вас включен opcache? – Andrea

+1

@Andrea OPcache предназначен для замены модуля APC, невозможно запустить их параллельно в PHP –

+0

Zend OPcache запущен и работает. Отключение его дает тот же результат. – user550385

ответ

6

APC (и) предназначенный для работы в многопроцессорном предпродаже или многопоточном SAPI.

FastCGI (без FPM) и CGI не являются предпрофессиональными моделями, они порождают различные процессы, так как такие APC (u) не будут работать корректно в этих средах.

И все, что использует общую карту памяти, например, Opcache: они могут кэшировать текущий процесс, но поделиться им не могут.

+0

Есть ли предупреждение на сайте об этом? Возможно, APCu должен отказаться от загрузки в этих SAPI, например, pthreads. – Andrea

+0

Я обсужу это с другими сопровождающими ... или тем, кто хочет что-то сказать ... https://github.com/krakjoe/apcu/issues/161 –

 Смежные вопросы

  • Нет связанных вопросов^_^