diff --git a/src/infrastructure/cache/PhutilAPCKeyValueCache.php b/src/infrastructure/cache/PhutilAPCKeyValueCache.php
--- a/src/infrastructure/cache/PhutilAPCKeyValueCache.php
+++ b/src/infrastructure/cache/PhutilAPCKeyValueCache.php
@@ -47,11 +47,14 @@
     // NOTE: Although modern APC supports passing an array to `apc_store()`,
     // it is not supported by older version of APC or by HPHP.
 
+    // See T13525 for discussion of use of "@" to silence this warning:
+    // > GC cache entry "<some-key-name>" was on gc-list for <X> seconds
+
     foreach ($keys as $key => $value) {
       if ($is_apcu) {
-        apcu_store($key, $value, $ttl);
+        @apcu_store($key, $value, $ttl);
       } else {
-        apc_store($key, $value, $ttl);
+        @apc_store($key, $value, $ttl);
       }
     }
 
diff --git a/support/startup/PhabricatorClientLimit.php b/support/startup/PhabricatorClientLimit.php
--- a/support/startup/PhabricatorClientLimit.php
+++ b/support/startup/PhabricatorClientLimit.php
@@ -216,9 +216,9 @@
     $bucket[$client_key] += $score;
 
     if ($is_apcu) {
-      apcu_store($bucket_key, $bucket);
+      @apcu_store($bucket_key, $bucket);
     } else {
-      apc_store($bucket_key, $bucket);
+      @apc_store($bucket_key, $bucket);
     }
 
     return $this;
@@ -247,9 +247,9 @@
     $cur = $this->getCurrentBucketID();
     if (!$min) {
       if ($is_apcu) {
-        apcu_store($min_key, $cur);
+        @apcu_store($min_key, $cur);
       } else {
-        apc_store($min_key, $cur);
+        @apc_store($min_key, $cur);
       }
       $min = $cur;
     }
@@ -262,10 +262,10 @@
       $bucket_key = $this->getBucketCacheKey($cursor);
       if ($is_apcu) {
         apcu_delete($bucket_key);
-        apcu_store($min_key, $cursor + 1);
+        @apcu_store($min_key, $cursor + 1);
       } else {
         apc_delete($bucket_key);
-        apc_store($min_key, $cursor + 1);
+        @apc_store($min_key, $cursor + 1);
       }
     }