php-4.2.3: description + notes

Note: some links below will go outside SGI, and SGI is not in any way responsible for the content of the linked pages.

Key information for this distribution of PHP 4.2.3

Why isn't PHP 4.3.0 available?

Simply put, there wasn't time. SGI Freeware releases have a freeze date which is usually during the first week of a calendar quarter; for the February 2003 release, the freeze date was 2 January 2003. The PHP developers released version 4.3.0 on 27 December 2003 - 6 days before SGI Freeware freeze. Not enough time to do a proper job.

PHP-4.2.3 has some significant configuration changes from earlier releases (pre-4.1.0).

These are not SGI-specific, but rather are changes made by the PHP team at php.net. Most important of these changes is most likely the change in the treatment of global variables, and in the use of superglobal arrays. Please check the PHP web site for more information. Some old PHP scripts may not work without modification.

What is PHP?

PHP is a server-side, cross-platform, HTML embedded scripting language. If you are completely new to PHP and want to get some idea of how it works, have a look at the Introductory Tutorial on the PHP web site. Once you get beyond that have a look at the example archive sites and some of the other resources available in the Links section of the PHP web site.

Functionality modules

The SGI Freeware distribution of PHP was built to use loadable shared objects. This allows functionality such as IMAP support, GD support, etc. to be put into shared libraries which are not strictly required by PHP. Thus, someone who wants a bare-bones PHP can use this distribution, as can someone who wants more bells and whistles.

The available functionality modules are:

Users should note that MySQL functionality is automatically built into PHP.

If you have other requests for functionality modules, please send them to the SGI Freeware team. However, please note that SGI Freeware will not build or provide functionality modules for any extension whose base application is unavailable as open-source software (e.g., proprietary databases like Oracle). So don't even ask.

Installing the Apache module for PHP

Please note that the Apache module in the distribution is built specifically to work with SGI Freeware Apache version 1.3.27. It will not install without the latest version of Apache. If you are running an earlier version of Apache from SGI Freeware, or if you are running the officially supported version of Apache from SGI (sgi_apache), you will have to use the CGI executable for PHP, which is installed by default. Do NOT follow the instructions below if you are running any version of Apache other than SGI Freeware Apache 1.3.27. To install the Apache module form of PHP:
  1. When the Software Manager window opens, click on the "Customize Installation" button.
  2. After the distribution and the initialization history are read, there will be a checkbox in the window which shows the software to be installed. To the right of the checkbox is an icon which looks like a folded piece of paper. Click on this to "unfold" it. This will allow you to choose which parts of the PHP software are installed. Make sure you have the "Log" window open.
  3. Click the checkbox next to the Apache module (fw_php.sw.php_apache if you use short names)
  4. If you wish only to install the Apache module, and not the CGI executable, click the checkbox next to the CGI executable (fw_php.sw.php) to remove the check mark and prevent installation of the CGI executable.
  5. Select any of the functionality modules you wish to install. If you haven't installed the correct supporting software, the "Conflicts" button will light. You will need to install the supporting software before you can install some of the functionality modules.
  6. Click on the "Start" button to begin installation.
  7. Once installation is complete, you will need to move the newly generated httpd.conf configuration file for Apache into the correct location. The command to do this, which must be run as root, is

      # cd /usr/freeware/apache/etc ; mv httpd.conf.N httpd.conf

Installation of the Netscape server (NSAPI) module

This distribution includes support for the Netscape server API, but not in the default manner PHP uses. Instead, redirection of PHP requests are handled by a separate shared object (the same way as was done for PHP 3). To install the Netscape server module form of PHP:
  1. When the Software Manager window opens, click on the "Customize Installation" button.
  2. After the distribution and the initialization history are read, there will be a checkbox in the window which shows the software to be installed. To the right of the checkbox is an icon which looks like a folded piece of paper. Click on this to "unfold" it. This will allow you to choose which parts of the PHP software are installed. Make sure you have the "Log" window open.
  3. Click the checkbox next to the Netscape server module (fw_php.sw.php_nsapi if you use short names). This installation includes the CGI executable, so in order not to confuse the SGI installer, you cannot install both the Netscape server module and the CGI executable.
  4. Select any of the functionality modules you wish to install. If you haven't installed the correct supporting software, the "Conflicts" button will light. You will need to install the supporting software before you can install some of the functionality modules.
  5. Click on the "Start" button to begin installation.
  6. Once installation is complete, follow the instructions printed in the "Log" window of swmgr (or printed to stdout/stderr if you are installing using inst).
The installation procedure cannot safely determine where your Netscape server is located. Please be SURE to open the "Log" window if you are doing your install using swmgr. There is important information in the log, which will help you to configure your system to run PHP. If you have already installed the NSAPI version without the "Log" window open, you can reproduce the messages with the command

      # /usr/freeware/share/php/php-fixconf.sh ns_php_server message


To auto-install this package, go back and click on the respective install icon.