Intereting Posts
Получить токен безопасности для незарегистрированного пользователя с помощью Symfony Эффективный способ расчета количества внешних ключей во второй таблице и отображения его с помощью строк из первой таблицы – PHP – MySQL В PHP, как обнаружить выполнение из режима CLI или через браузер? Как использовать JSON с JQuery? Laravel 4 – Попытка получить свойство не объекта Как анализировать XML в Википедии с помощью PHP? Совместное использование анкеров в социальных сетях PHP / mySQL – как вставить вложенные строки в многомерную матрицу Получить переменное имя объекта внутри объекта php Swagger-PHP для создания JSON-файла для Swagger-UI mySQL выбирает zipcodes в пределах x км / миль в пределах диапазона y Как добавить javascript на сайт wordpress Запланированный запрос на мой сайт от внешнего источника Удалить символы мусора в utf Как работает это гигантское регулярное выражение?

php-apcu (CGI / FastCGI) apc_fetch всегда возвращает false

При использовании расширения phpapcu ( 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')); ?> 

Действия по воспроизведению:

  1. Откройте http://server/test-apc.php для вызова apc_store
  2. Открыть http://server/test-apc.php?get для получения сохраненных данных с помощью apc_fetch

BTW: apc_cache_info ('user') показывает его правильно с первым запросом, второй пуст

Соответствующие пакеты (ОС: Debian 3.2.63):

  • Apache 2.2.22 (mpm-prefork, suexec-custom, wrapper)
  • php5.5 как CGI
  • php5-apcu 4.0.7
  • (и зависимостями)

Модуль 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)