On Sat, Jul 24, 2004 at 10:35:10AM +0100, Peter Risdon wrote:
> Drew Marshall wrote:

> >I have been trying to install php4 (On FreeBSD 5.2.1, cvsuped ports 
> >tree, php4-4.3.8_1, I have tried both the mod_php4 and lang/php4) and 
> >the full menu options seem to have disappeared. When I run make install 
> >I get a 3 line menu offering to allow me to install for apache2 instead 
> >of apache 1.3.x, to enable debugging and use IPv6. I have no options to 
> >configure the build process. If I allow the build to continue Apache 
> >grumbles that it can't find variable session( ), which would suggest PHP 
> >is not compiled with session support. What am I doing wrong? What has 
> >changed?
> 
> Major revision to the port, for reasons that I don't find very obvious.
> 
> However, you need lang/php4-extensions or the mod_php equivalent.

Actually, php4-extensions works with any of the 'main' PHP ports --
lang/php4, lang/php4-cli, www/php4-cgi or www/mod_php4.  The fact that
there are 4 different variations on a plain 'php4' port in the tree is
the reason why all of the module support was moved out into a separate
extensions port.  

While this move to specifying all of the PHP modules as loadable
extensions makes a great deal of sense from one point of view -- ports
that use PHP can now explicitly list all of the extensions they
require to operate, rather than having to have their own private PHP
slave ports -- the implementation has run into a number of problems.

For php4 there are some extensions where the same functionality is not
available when used as a loadable module as when compiled in.  The
security/php4-openssl extension is a case in point: unless OpenSSL
support is compiled-in, the fsockopen() function won't let you open
'tls://' or 'ssl://' style URLs.  (As a practical result, that means
that eg. Squirrelmail can't communicate with a secure IMAP server on
port 993.  The only alternative in that case is to communicate to an
unencrypted IMAP server on port 143, which quite probably involves
sending passwords over the net in plaintext.)

Beyond that, not all of the PHP consuming ports have yet been updated
to depend on the appropriate PHP extensions, so installing those ports
de novo doesn't immediately get you a workable system.  A common
symptom of this is a run-time error where one of the perl compatible
regular expression (pcre_*()) functions doesn't work.  The answer
pretty much is just to install the required extension modules by hand,
and tweak the value of the 'extension_dir' directive in
/usr/local/etc/php.ini

        Cheers,

        Matthew

-- 
Dr Matthew J Seaman MA, D.Phil.                       26 The Paddocks
                                                      Savill Way
PGP: http://www.infracaninophile.co.uk/pgpkey         Marlow
Tel: +44 1628 476614                                  Bucks., SL7 1TH UK

Attachment: pgpDMYixTvITk.pgp
Description: PGP signature

Reply via email to