> With installing a security update for the pcre3 library on Debian
> (http://lists.debian.org/debian-security-announce/debian-security-announ
> ce-2007/msg00177.html), preg_match('|^\(|', 'xxx') suddenly returns 1
> instead of 0 using PHP 5.1.6.
the correct value is 0, yes.
> The thing is - I have built PHP using the bundled PCRE library and the
> error happens only with the apache2 module, not with a CLI binary.
> phpinfo() shows PCRE 6.6 and ldd shows no dependencies against the
> shared libpcre.so.3, neither for the php-cli binary nor for the apache
> module.
>
> Any ideas what might cause that? I can't see why the shared library
> update makes a difference at all.
You are right that updating the shared library shouldn't matter. If the
problem happens only with apache2 it suggests that there is some symbol
clashing problem. Please try with a recent PHP version and report if it
doesn't work (I remember fixing a bunch of these lately).
Anyway I would advise you to upgrade PHP to a more recent version, as PCRE
6.6 has some security problems.
Nuno