Install multiple PHP environments on OS X Snow Leopard
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
Related videos on Youtube
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, 2022Comments
-
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 over 14 yearsYes 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 over 14 yearsOriginally 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 over 14 yearsI had already name checked this article in my comments to predominant. Thanks though.
-
Darren Newton over 14 yearsHow would Xdebug and APC play with this setup?
-
Eno about 12 yearsYou guys using DarwinPorts and/or Fink, should really check out Homebrew.
-
Lee Taylor over 11 yearsYour link doesn't work. So, pretty much a useless answer!