Я пытаюсь заставить APC работать как постоянная структура данных.APC только половина работает
Я написал тестовый сценарий, чтобы проиллюстрировать проблему, с которой сталкиваюсь.
<?php
function set_true()
{
apc_store("test", true);
var_dump(apc_fetch("test"));
}
var_dump(apc_fetch("test"));
set_true();
?>
Когда я пытаюсь его apc.enable_cli=1
, происходит следующее:
$ php test_store.php
bool(false)
bool(true)
$ php test_store.php
bool(false)
bool(true)
То есть, кэш, кажется, вытер между каждой сессии. Это имеет смысл в соответствии с documentation.
А когда я запускаю его без apc.enable_cli=1
, происходит следующее:
$ php test_store.php
bool(false)
bool(false)
$ php test_store.php
bool(false)
bool(false)
который должен сказать, что кэш даже не существует на протяжении всего сценария (сохранение не работает).
Я хотел бы, чтобы иметь возможность влиять на одну особого кэш, который остается в памяти на протяжении всей жизни сервера, в том числе доступа с клиентским доступом PHP, в том числе скриптов, которые я пишу и запустить из командной строки и т.д.
Просто чтобы быть ясно, это в основном означает, что CLI делает очень временный кэш для сценария и удаляет его, но производительность CGI не затрагивается (если выполняется CGI, она будет сохраняться), но нет возможности подключить кэш CGI с кешем CLI? Я просто попробовал это, разместив его и выполнив его через клиента, и он, похоже, сохраняется правильно. –
@ River Tam: через какого клиента? 'APC' нуждается в некоторой общей памяти для сохранения своих данных. И я не уверен, что считаю, что это работает в «CGI». Это чисто cgi или что-то еще? – zerkms
Значение клиента через браузер, обращающийся к серверу (php-скрипт, выполняемый через apache). То есть, я пытаюсь заставить APC работать немного больше, чем действительно легкая база данных, чем кеш, поэтому я хочу иметь возможность редактировать данные как с клиента, так и с сервера. –