+diff -ur php-4.4.9.org/ext/pcre/php_pcre.c php-4.4.9/ext/pcre/php_pcre.c
+--- php-4.4.9.org/ext/pcre/php_pcre.c 2007-12-31 08:22:50.000000000 +0100
++++ php-4.4.9/ext/pcre/php_pcre.c 2012-07-02 14:17:54.974558709 +0200
+@@ -141,6 +141,7 @@
+ int regex_len;
+ int do_study = 0;
+ int poptions = 0;
++ int count = 0;
+ unsigned const char *tables = NULL;
+ #if HAVE_SETLOCALE
+ char *locale = setlocale(LC_CTYPE, NULL);
+@@ -154,10 +155,10 @@
+ regex_len = strlen(regex);
+ if (zend_hash_find(&PCRE_G(pcre_cache), regex, regex_len+1, (void **)&pce) == SUCCESS) {
+ /*
+- * We use a quick pcre_info() check to see whether cache is corrupted, and if it
++ * We use a quick pcre_fullinfo() check to see whether cache is corrupted, and if it
+ * is, we flush it and compile the pattern from scratch.
+ */
+- if (pcre_info(pce->re, NULL, NULL) == PCRE_ERROR_BADMAGIC) {
++ if (pcre_fullinfo(pce->re, NULL, PCRE_INFO_CAPTURECOUNT, &count) == PCRE_ERROR_BADMAGIC) {
+ zend_hash_clean(&PCRE_G(pcre_cache));
+ } else {
+ #if HAVE_SETLOCALE