4

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!

6 Answers6

9

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

1

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.

Nathan
  • 196
1

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

0

This is my own write up from many months back:

http://ireallylikesushi.com/blog/2009/12/21/installing-both-zend-server-ce-php-5-2-php-5-3-on-snow-leopard/

Very easy and clean solution. Hope that helps.

Duo
  • 1
0

One option would be to install different version of something like MAMP and then tinker with each install individually.

Garry
  • 457