{"id":10010,"date":"2010-08-04T03:29:19","date_gmt":"2010-08-04T03:29:19","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/apc\/"},"modified":"2020-05-04T15:55:13","modified_gmt":"2020-05-04T15:55:13","slug":"apc","status":"publish","type":"plugin","link":"https:\/\/tah.wordpress.org\/plugins\/apc\/","author":2545,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"2.0.7","stable_tag":"2.0.7","tested":"3.5.2","requires":"3.3","requires_php":"","requires_plugins":"","header_name":"APC Object Cache","header_author":"Mark Jaquith","header_description":"","assets_banners_color":"","last_updated":"2020-05-04 15:55:13","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/txfx.net\/wordpress-plugins\/donate","header_plugin_uri":"","header_author_uri":"https:\/\/coveredweb.com\/","rating":5,"author_block_rating":0,"active_installs":10,"downloads":35828,"num_ratings":14,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":[],"upgrade_notice":{"2.0.5":"<p>Upgrade for better WordPress Multisite support and WP-CLI support.<\/p>","2.0.4":"<p>More helpful error message for people who try to activate this as a plugin.<\/p>","2.0.3":"<p>Object cloning and a fix for the boolean true value bug. Parity with Memcache backend, as much as was possible.<\/p>","2.0.2":"<p>Support for lower versions of APC (Batcache, especially). Adds support for more esoteric <code>wp-config.php<\/code> setups, and adds minor performance tweaks.<\/p>","2.0.1":"<p>Fixed bugs regarding wp_cache_delete()<\/p>","2.0":"<p>First update in four years! This should last you a while.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":"14"},"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["2.0","2.0.1","2.0.2","2.0.2-beta","2.0.3","2.0.4","2.0.5","2.0.6","2.0.7"],"block_files":[],"assets_screenshots":[],"screenshots":[],"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[3888,1379,146,7913,247],"plugin_category":[52,54],"plugin_contributors":[77745],"plugin_business_model":[],"class_list":["post-10010","plugin","type-plugin","status-publish","hentry","plugin_tags-apc","plugin_tags-backend","plugin_tags-cache","plugin_tags-object-cache","plugin_tags-performance","plugin_category-performance","plugin_category-security-and-spam-protection","plugin_contributors-markjaquith","plugin_committers-markjaquith"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/apc.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>APC Object Cache provides a persistent memory-based backend for the WordPress object cache. APC must be available on your PHP install.<\/p>\n\n<p>An object cache is a place for WordPress and WordPress extensions to store the results of complex operations. On subsequent loads, \nthis data can be fetched from the cache, which will be must faster than dynamically generating it on every page load.<\/p>\n\n<p>The APC Object Cache backend is also compatible with <a href=\"https:\/\/wordpress.org\/extend\/plugins\/batcache\/\">Batcache<\/a>, the powerful full page caching engine that runs on WordPress.com<\/p>\n\n<p>Be sure to read the installation instructions, as this is <strong>not<\/strong> a traditional plugin, and needs to be installed in a specific location.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Verify that you have PHP 5.2.4+ and a compatible APC version installed.<\/li>\n<li>Copy <code>object-cache.php<\/code> to your WordPress content directory (<code>wp-content\/<\/code> by default).<\/li>\n<li>Done!<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt>Does this work as a backend for Batcache?<\/dt>\n<dd><p>Yes! APC 3.1.1+ supports incrementers and handles its own cleanup of expired objects, so it works just fine for Batcache. Lower versions of APC will work, but the hits trigger will be disabled.<\/p><\/dd>\n<dt>Does this support versions of WordPress earlier than 3.3?<\/dt>\n<dd><p>Maybe, but I'm not going to support them, and you shouldn't still be running them!<\/p><\/dd>\n<dt>I share `wp-config.php` among multiple WordPress installs. How can I guarantee key uniqueness?<\/dt>\n<dd><p>Define <code>WP_APC_KEY_SALT<\/code> to something that is unique for each install (like an md5 of the MySQL host, database, and table prefix).<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.0.7<\/h4>\n\n<ul>\n<li>Address potential XSS issues<\/li>\n<\/ul>\n\n<h4>2.0.6<\/h4>\n\n<ul>\n<li>Fixed a PHP notice<\/li>\n<\/ul>\n\n<h4>2.0.5<\/h4>\n\n<ul>\n<li>Implements <code>wp_cache_switch_to_blog()<\/code><\/li>\n<li>Degrades to the built-in PHP-memory cache when APC is not available (now plays with WP-CLI)<\/li>\n<li>Clone objects before storing them to the local cache, so changes to them don't corrupt the cache<\/li>\n<li>Clear the local PHP memory cache when the APC cache is cleared<\/li>\n<\/ul>\n\n<h4>2.0.4<\/h4>\n\n<ul>\n<li><code>die()<\/code> when people mistakenly try to activate this as a plugin, and provide a helpful message for where they should move the file<\/li>\n<\/ul>\n\n<h4>2.0.3<\/h4>\n\n<ul>\n<li>Parity with the Memcache backend, as much as was possible<\/li>\n<li>Object cloning<\/li>\n<li>Requires WP 3.1+<\/li>\n<li>Fix double-equals vs triple-equals bug with boolean true values<\/li>\n<\/ul>\n\n<h4>2.0.2<\/h4>\n\n<ul>\n<li>Perform the <code>md5( ABSPATH )<\/code> calculation once per load (props jdub)<\/li>\n<li>Allow users of complex <code>wp-config.php<\/code> setups to define <code>WP_APC_KEY_SALT<\/code> to guarantee key uniqueness (props jdub)<\/li>\n<li>Lose the <code>preg_replace()<\/code> call in <code>::key()<\/code> (props jdub)<\/li>\n<li>Rename the <code>incr<\/code> method to <code>incr2<\/code> and then conditionally add <code>incr<\/code> via class extension (so that Batcache can properly detect incrementor support)<\/li>\n<li>Convert arrays to ArrayObject objects (APC does not cache multi-level arrays or arrays of objects, so this works around that)<\/li>\n<li>Require PHP 5.2+<\/li>\n<\/ul>\n\n<h4>2.0.1<\/h4>\n\n<ul>\n<li>Fixed bugs in wp_cache_delete()<\/li>\n<\/ul>\n\n<h4>2.0<\/h4>\n\n<ul>\n<li>First version in SVN<\/li>\n<li>Updated to support increment\/decrement and feature parity with the Memcached backend (except for multiget support)<\/li>\n<\/ul>","raw_excerpt":"APC Object Cache provides a persistent memory-based backend for the WordPress object cache. APC must be available on your PHP install.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/10010","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=10010"}],"author":[{"embeddable":true,"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/markjaquith"}],"wp:attachment":[{"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=10010"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=10010"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=10010"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=10010"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=10010"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=10010"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}