APCu - APC User Cache
Clone or download
nikic Return null from apcu_key_info() on failure
This restores the previous behavior.
Latest commit 79af369 Oct 21, 2018
Permalink
Failed to load latest commit information.
apcue Remove unnecessary indirection in cache_fetch API Oct 21, 2018
bc @ fa341eb Update bc submodule Aug 19, 2018
tests Return null from apcu_key_info() on failure Oct 21, 2018
.gitignore Added .gitignore from the php-src Jul 26, 2013
.gitmodules remove submodule Dec 4, 2015
.travis.yml Run tests with and without opcache Jun 23, 2018
INSTALL Fix typos in docs/code comments Jul 31, 2018
LICENSE provide full license Dec 4, 2015
Makefile.frag initial import Mar 1, 2013
NOTICE initial import Mar 1, 2013
README.md add appveyor status Nov 23, 2016
TECHNOTES.txt correction Mar 13, 2013
apc.c Remove apc_emalloc and friends Oct 9, 2018
apc.h Remove apc_emalloc and friends Oct 9, 2018
apc.php Fix typos Sep 12, 2018
apc_api.h Kill the pool implementation Oct 7, 2018
apc_arginfo.h Add $ttl argument to apcu_inc() and apcu_dec() Apr 8, 2018
apc_cache.c Return null from apcu_key_info() on failure Oct 21, 2018
apc_cache.h Kill the pool implementation Oct 7, 2018
apc_cache_api.h Remove unnecessary indirection in cache_fetch API Oct 21, 2018
apc_globals.h Remove apc.writable ini setting Oct 9, 2018
apc_iterator.c Move APC_STRINGS to separate file Oct 21, 2018
apc_iterator.h Use PCRE JIT in APC iterator Mar 12, 2018
apc_lock.c Check result of write-lock acquisitions Mar 15, 2018
apc_lock.h completion of API, external caches possible ... Mar 8, 2013
apc_lock_api.h Check result of write-lock acquisitions Mar 15, 2018
apc_mmap.c Improve message for failed mmap Oct 9, 2018
apc_mmap.h Remove useless $Id$s Feb 16, 2018
apc_persist.c Clean up SMA API Oct 9, 2018
apc_php.h Remove useless $Id$s Feb 16, 2018
apc_serializer.h Remove useless $Id$s Feb 16, 2018
apc_shm.c Use E_CORE_ERROR for startup errors Oct 9, 2018
apc_shm.h Remove useless $Id$s Feb 16, 2018
apc_signal.c Clean up SMA API Oct 9, 2018
apc_signal.h Remove useless $Id$s Feb 16, 2018
apc_sma.c Clean up SMA API Oct 9, 2018
apc_sma.h Clean up SMA API Oct 9, 2018
apc_sma_api.h Clean up SMA API Oct 9, 2018
apc_stack.c Use emalloc in apc_stack Feb 16, 2018
apc_stack.h Remove useless $Id$s Feb 16, 2018
apc_strings.h Use interned strings in cache info (partially) Oct 21, 2018
apc_windows_srwlock_kernel.c Remove useless $Id$s Feb 16, 2018
apc_windows_srwlock_kernel.h Remove useless $Id$s Feb 16, 2018
appveyor.yml Move to the latest SDK version and change the way things are fetched Feb 21, 2018
config.m4 Fix config.w32 Oct 8, 2018
config.w32 Fix config.w32 Oct 8, 2018
package.xml bac to dev Jul 9, 2018
pgsql_s_lock.c Remove useless $Id$s Feb 16, 2018
pgsql_s_lock.h Remove useless $Id$s Feb 16, 2018
php_apc.c Move APC_STRINGS to separate file Oct 21, 2018
php_apc.h bac to dev Jul 9, 2018

README.md

APCu

APCu is an in-memory key-value store for PHP. Keys are of type string and values can be any PHP variables.

APCu only supports userland caching of variables.

APCu is APC stripped of opcode caching. See APCu Backwards Compatibility Module which provides a drop in replacement for APC.

Build Status Build status

Documentation

APCu documentation can be found on php.net.

Reporting Bugs

If you believe you have found a bug in APCu, please open an issue: Include in your report minimal, executable, reproducing code.

Minimal: reduce your problem to the smallest amount of code possible; This helps with hunting the bug, but also it helps with integration and regression testing once the bug is fixed.

Executable: include all the information required to execute the example code, code snippets are not helpful.

Reproducing: some bugs don't show themselves on every execution, that's fine, mention that in the report and give an idea of how often you encounter the bug.

It is impossible to help without reproducing code, bugs that are opened without reproducing code will be closed.

Please include version and operating system information in your report.