Re: Bug #1619: apxs and --with-system-regex doesn't combine, causing crash
| From: | Rene' Seindal | Date: | Wed, 30 Jun 1999 19:57:14 +0000 |
| Subject: | Re: Bug #1619: apxs and --with-system-regex doesn't combine, causing crash | ||
| References: | 1 2 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-7902@lists.php.net to get a copy of this message | ||
HI,
I have now experimented a bit more with this.
I have taken down some patches to php.h and configure.in from CVS
regarding compilation with apxs.
I think part of the problem with the autoconf logic around
--with-system-regex is because it is sometimes a three way choice, not a
two way choice.
When compiling php as a cgi-program, there are the choices of using the
bundled Henry Spencer regexp lib og using the GNU based libc code (at
least on my system).
When compiling php as an Apache module, there are the three posibilities
of using the bundled HS lib, of using the HS lib in apache (if
configured), or of using the libc version.
Or, the other way around:
If apache is compiled to use the libc regexps, there are two choices for
php, but if apache is compiled with --enable-rule=WANTHSREGEX, there are
three posibilities.
The changes made by Sascha Schumann in CVS doesn't handle the three way
choice. I compiled apache with HSREGEX and php with
--with-system-regex, but then configure took the bundled regex anyway.
Now I have apache with its own regex code, php with its own and libc
regexps unused.
Currently (with the cvs change) the confgure.in code is like (in some
home made pseudo code:
if using apxs
if apache uses hsregex
use bundled regex
else
use libc
endif
else
if with-system-regex == no
use bundled regex
else
use libc
endif
endif
I think something like this would be more appropriate, causing
--with-system-regex to mean whatever apache uses, when php is compiled
as module.
If using apxs
if with-system-regex == no
use bundled regex
else
/* do as apache does */
if apache uses hsregex
use apache's regex code
else
use libc
endif
endif
else
if with-system-regex == no
use bundled regex
else
use libc
endif
endif
Whether --with-system-regex should be interpreted like that is up to you
the developers. Other interpretations could be made.
I hope this is of a little help.
Sascha Schumann wrote:
>
> On Mon, Jun 28, 1999 at 11:00:41PM -0000, rene@seindal.dk wrote:
> > From: rene@seindal.dk
> > Operating system: linux 2.0.36/slackware 3.6
> > PHP version: 3.0.11
> > PHP Bug Type: Reproduceable crash
> > Bug description: apxs and --with-system-regex doesn't combine, causing crash
> >
> > For some unknown reason the bundled regex doesn't work anymore (for me). Maybe it is
> > connected to the (new?) PCRE code??
> >
> > The bundled regex did work for me with 3.0.9
> >
> > When I used --with-system-regex, config.h didn't change.
>
> PHP uses the configuration from Apache.
>
> If you want system regex, compile Apache with
> --enable-rule=WANTHSREGEX and PHP will use that, too.
--
René Seindal (rene@seindal.dk) http://www.seindal.dk/rene/