При использовании расширения php–apcu ( https://github.com/krakjoe/apcu ) (не apc) в среде php CGI сохраненные данные из apc_store
пусты.
У кого-нибудь есть опыт в том, как решить эту проблему?
Пример файла PHP: test-apc.php
<?php $k = 'test'; if(isset($_GET['get'])) { $result = apc_fetch($k); echo "Read entry '$k': $result"; } else if(isset($_GET['clear'])) { echo "Clear entry '$k'"; apc_clear_cache('user'); } else { apc_store($k, "HelloWord"); echo "Write entry '$k' set"; } print_r(apc_cache_info('user')); ?>
Действия по воспроизведению:
http://server/test-apc.php
для вызова apc_store
http://server/test-apc.php?get
для получения сохраненных данных с помощью apc_fetch
BTW: apc_cache_info ('user') показывает его правильно с первым запросом, второй пуст
Соответствующие пакеты (ОС: Debian 3.2.63):
Модуль php-apcu не полностью совместим с CGI / fcgid.
Возможная причина: CGI / fcgid выполняет интерпретатор php в качестве нового экземпляра для каждого HTTP-запроса. Таким образом apcu / apc не может восстановить пользовательские кеши.
Модуль mod-fastcgi ( несвободный пакет для Debian ) вместе с php5-fpm может обеспечить исправление. В нем используется другой метод управления процессами.
http://php-fpm.org/wiki/ (down atm – 2015-09-02)