Install multiple PHP environments on OS X Snow Leopard

6,231

Solution 1

Mark Story has written a great article on how to achieve this. He is a CakePHP core developer, and uses this setup for work and cakephp development.

http://mark-story.com/posts/view/maintaining-two-versions-of-php-with-macports

Solution 2

I suggest downloading the PHP distribution you would like as source, and then set ./configure parameter options (see ./configure --help) so the software is installed either in a unique location or with the version number appended to the name. This way when you run make install the PHP 5.3 install is not overwritten. Finally setup a separate suffix mapping in Apache which routes to version you'd like, or override the default PHP mapping for the VirtualHost or Directory stanza where your scripts are located.

Solution 3

I am maintaining some build scripts as part of the Homebrew project that will let you do just that (at least the installation part) very easily. I blogged about it - http://boztek.net/blog/2009/10/07/install-lamp-stack-source-mac-os-x-106-snow-leopard-using-homebrew

Share:
6,231

Related videos on Youtube

Darren Newton
Author by

Darren Newton

Parenthesis enthusiast and Front-end Engineer with a love of Alt-JavaScript. Currently noodling with Clojure and Racket. Blog :: Portfolio

Updated on September 17, 2022

Comments

  • Darren Newton
    Darren Newton over 1 year

    I just upgraded my MBP to Snow Leopard (OS X 10.6), which took PHP to 5.3

    This is great, except I use my MBP as my development machine and I use a lot of PHP libs and frameworks (namely CakePHP 1.2) which are not compatible at the moment with PHP 5.3. CakePHP in particular does not have a stable version for PHP 5.3 so its not a matter of upgrading the framework (and the production servers are under PHP 5.2 anyway.)

    Is there a way to install PHP 5.2.9 alongside PHP 5.3 and then using httpd.conf or .htaccess tell Apache which version of PHP to use for a particular directory?

    Alternatively is there a way to do this with MacPorts?

    Thanks!

  • Darren Newton
    Darren Newton over 14 years
    Yes he did! I had a small back and forth with Mark about this and have adapted his shell script to do switching between just PHP 5.3 and PHP 5.2.10. Using MacPorts' built in ability to activate/deactivate the environments makes this a snap, and its done in a 'mac' way.
  • Darren Newton
    Darren Newton over 14 years
    Originally I was going to try and do this using FastCGI following this (rather good) article: cuadradevelopment.com/blog/26/… Unfortunately I couldn't get PHP 5.3 to compile and running FastCGI under suexec (which I am not familiar with) made me a little nervous, so Mark Story's solution above felt more comfortable.
  • Darren Newton
    Darren Newton over 14 years
    I had already name checked this article in my comments to predominant. Thanks though.
  • Darren Newton
    Darren Newton over 14 years
    How would Xdebug and APC play with this setup?
  • Eno
    Eno about 12 years
    You guys using DarwinPorts and/or Fink, should really check out Homebrew.
  • Lee Taylor
    Lee Taylor over 11 years
    Your link doesn't work. So, pretty much a useless answer!