diff --git a/pkgs/development/libraries/php-apc/default.nix b/pkgs/development/libraries/php-apc/default.nix
new file mode 100644
index 000000000000..7cfdc9ce30d5
--- /dev/null
+++ b/pkgs/development/libraries/php-apc/default.nix
@@ -0,0 +1,26 @@
+{stdenv, fetchurl, php, autoconf, automake, libtool }:
+
+stdenv.mkDerivation rec {
+  name = "php-apc-3.1.7";
+  
+  src = fetchurl {
+    url = http://pecl.php.net/get/APC-3.1.7.tgz;
+    sha256 = "0xlvhw5398sl5zzkjm4rkk1m3fcra30zkq0k4i6fij0ylpd6nlls";
+  };
+
+  preConfigure = ''
+    phpize
+
+    sed -i 's,^EXTENSION_DIR.*,'EXTENSION_DIR=$out/lib/php/extensions, configure
+  '';
+
+  configureFlags = [ "--enable-apc" "--enable-apc-mmap" ];
+
+  buildInputs = [ php autoconf automake libtool ];
+
+  meta = {
+    description = "Alternative PHP Cache";
+    homepage = "http://pecl.php.net/package/APC";
+    license = "PHP+";
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 45e648d8381e..e34f99a273b2 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -2367,6 +2367,8 @@ let
       zlib curl gd postgresql openssl pkgconfig sqlite getConfig libiconv libjpeg libpng;
   };
 
+  php_apc = callPackage ../development/libraries/php-apc { };
+
   phpXdebug = callPackage ../development/interpreters/php-xdebug { };
 
   picolisp = callPackage ../development/interpreters/picolisp {};