On 8/2/07, Jim Pingle lists@pingle.org wrote:
till wrote:
On 8/2/07, Jim Pingle lists@pingle.org wrote:
(...) I maintain PHP installs on several servers, updating as needed, and the only thing that gets me on a regular basis is having to check and recheck the extension ordering. Often this is as easy as backing up my current /usr/local/etc/php/extensions.ini and then copying it back after portupgrade finishes.
This and the issues with extensions that actually need to be build static (e.g. PCRE, OpenSSL), but FreeBSD builds them all shared. The only obstacles I ran into in over five years of FreeBSD-happyness. ;-)
I haven't hit that, but I thought there were some knobs that could be set in make.conf to accomplish that. I don't remember if CONFIGURE_ARGS gets carried over from the environment or not, if it does you can set the variables like I do below. You can always hack the Makefile, but that's not too elegant and it gets clobbered every time you update.
For example, here's what I do to get subversion and Apache2 to play nice, in /etc/make.conf:
.if ${.CURDIR:M*/www/apache22} WITH_BERKELEYDB=db42 .endif .if ${.CURDIR:M*/devel/subversion} WITH_APACHE2_APR=yes .endif .if ${.CURDIR:M*/devel/apr-svn} APR_UTIL_WITH_BERKELEY_DB=yes .endif
And I don't have to worry about setting those every time I do a port upgrade.
Even though this will go off-topic - but hey f' that! :D
Basically the issues with PCRE you can run into are pretty special - for example. You install PHP (PCRE is shared, as is any other extension), but then instead of using ports to install a pecl (0) extension, you think you can install it through "pecl install foo".
The pecl installer doesn't load installed extensions so they can be modified etc. (which makes a lot of sense) but since the installer expects PCRE to build static (included) it also relies/depends on it.
So what happens is, it "unloads" all extensions (including PCRE) and wants to use PCRE, and dies. Of course the work around is to use ports to install the PECL module as well - but yeah, we are all human and make mistakes. IMO this should be also fixed by the maintainer - I have not heard of a work around to include PCRE without hacking the Makefile, or maybe using CONFIGURE_ARGS.
I just don't like having to remember that to include it accross updates. That kind of defeats the purpose for me, but of course that is all doable. I could also roll my own port - not too hard, but yeah
I also have a patch for my pecl issue, but somehow I doubt they accept my "workaround".
The OpenSSL issues I found were related to some weird warning/failure PHP issues when I connected to a payment processors SSL endpoint. I was told on bugs.php.net that my install "sucks" because it's build shared and not static, when everyone in the world knows it has to be static. Well too bad. ;-)
I don't want to bash anyone, so I guess php should offer guidelines for the distributions and collaborate with maintainers on those issues. (In a perfect world.)
Cheers, Till
0, http://pecl.php.net _______________________________________________ List info: http://lists.roundcube.net/dev/