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
pgpDMYixTvITk.pgp
Description: PGP signature