Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save bonnak/f3b2373d6dddb089555d to your computer and use it in GitHub Desktop.

Select an option

Save bonnak/f3b2373d6dddb089555d to your computer and use it in GitHub Desktop.

Multiple PHP version under Ubuntu 13.04

Install the lamp server (Apache MySQL PHP)

apt-get install lamp-server^

Install php-farm

cd /opt git clone git://git.code.sf.net/p/phpfarm/code phpfarm

Compile all the PHP version you need, eg

cd /opt/phpfarm/src ./compile 5.5.0

If the compilation fails, just install the libraries that cause the interruption

To verify the installation

cd /opt/phpfarm/src/inst/bin ./php-5.5.0 --version

Install FastCGI

apt-get install libapache2-mod-fastcgi apache2-mpm-worker apache2-suexec a2enmod actions fastcgi suexec

Edit the /etc/apache2/apache2.conf, add these lines before the includes

FastCgiServer /var/www/cgi-bin/php-cgi-5.5.0 ScriptAlias /cgi-bin-php/ /var/www/cgi-bin/

Now create the file /var/www/cgi-bin/php-cgi-5.5.0, with this content

#!/bin/sh PHPRC="/etc/php5/cgi/5.5.0/" export PHPRC

PHP_FCGI_CHILDREN=3 export PHP_FCGI_CHILDREN

PHP_FCGI_MAX_REQUESTS=5000 export PHP_FCGI_MAX_REQUESTS

exec /opt/phpfarm/inst/bin/php-cgi-5.5.0

Make the file executable

chmod +x /var/www/cgi-bin/php-cgi-5.5.0

Configure a VirtualHost to use the php version we just configured eg: /etc/apache2/sites-available/example.conf

<VirtualHost *:80> ServerName example.dev DocumentRoot /var/www/example/ <Directory "/var/www/example"> AddHandler php-cgi .php Action php-cgi /cgi-bin-php/php-cgi-5.5.0 <FilesMatch ".php$"> SetHandler php-cgi

Enable the site

a2ensite example.conf

Add the server to /etc/hosts

127.0.0.1 example.dev

Restart apache

service apache2 restart

If you don't get any error you will find a working installation of PHP5.5.0 at http://example.dev :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment