Getting PHP4 to work along side PHP5 in Ubuntu Gutsy

I got PHP4, compiled it as CGI.. here’s how.

Install required packages

  apt-get install make libmysqlclient15-dev libmcrypt-dev libxpm-dev libpng12-dev 
libjpeg62-dev libcurl4-openssl-dev apache2-dev  gcc bison flex

configured as follows.

./configure --enable-force-cgi-redirect --disable-cli --enable-discard-path  
 '--prefix=/home/pookey/php/' '--with-xml'  '--enable-bcmath' '--enable-calendar' 
 '--with-curl' '--enable-ftp' '--with-gd' '--with-jpeg-dir=/usr' '--with-png-dir=/usr' 
  '--with-xpm-dir=/usr/X11R6' '--with-mcrypt' '--enable-magic-quotes' 
 '--with-mysqli' '--with-mysql=/usr' '--with-openssl' 
  '--enable-discard-path' '--with-pear' '--enable-sockets' 
 '--enable-track-vars' '--enable-versioning' '--with-zlib'

This installed it into /home/pookey/php

Enabled per vhost using the following syntax

  SetEnv PHPRC /home/pookey/php/lib/stage
  ScriptAlias /php4-cgi /home/pookey/php/bin/php

  <Location />
    Action php4-script /php4-cgi
    AddHandler php4-script .php

For some stupid reason I failed to figure out, doc_root needs to be set to the document root for each vhost, and can only be done in php.ini (setting PHP_DOCUMENTATION_ROOT with SetEnv failed). This means each vhost needs it’s own php.ini, which is placed wherever you set PHPRC to.

Using this system, you can have PHP4 and PHP5 mixed even on the same vhost

3 thoughts on “Getting PHP4 to work along side PHP5 in Ubuntu Gutsy”

  1. proper seems to have abandoned php4 source downloads completely, and has been down.

    I was able to snag 4.3.10 sources at:
    > wget ‘’

    > md5sum php-4.3.10.tar.gz

    -tim d

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.