Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save raphaelstolt/2721719 to your computer and use it in GitHub Desktop.
Save raphaelstolt/2721719 to your computer and use it in GitHub Desktop.
Installing PHP 5.4 and 5.3 side by side on Max OSX via MacPorts

##Given Apache 2 and MySQL are already installed.

#Update MacPorts sudo port selfupdate;sudo port -u upgrade outdated

#Install PHP 5.4.* sudo port install php54 php54-apache2handler ##Activate Apache Module cd /opt/local/apache2/modules sudo /opt/local/apache2/bin/apxs -a -e -n php5 mod_php54.so ##Install your needed extensions sudo port install php54-curl php54-ftp php54-iconv php54-mbstring php54-mcrypt php54-mysql php54-openssl php54-soap php54-sqlite php54-xsl php54-zip php54-xdebug php54-mongo #Install PHP 5.3.* sudo port install php53 php53-apache2handler ##Install your needed extensions sudo port install php53-curl php53-ftp php53-iconv php53-mbstring php53-mcrypt php53-mysql php53-openssl php53-soap php53-sqlite php53-xsl php53-zip php53-xdebug php53-mongo #Activate PHP 5.4.* sudo port select php php54 #Fall back to PHP 5.3.* when required sudo port select php php53 The current php_select doesn't change the LoadModule directive in your http.conf so you might have to change the version by hand (and restart your Apache). #Install PEAR cd # curl http://pear.php.net/go-pear.phar -o go-pear.phar sudo php go-pear.phar Modify the PEAR install process to your needs; mine were the following:

1. Installation base ($prefix) : /opt/local/lib/php54
...
4. Binaries directory          : /opt/local/bin
...

##Check the PEAR installation, cleanup and install your favourite packages

pear info pear && rm go-pear.phar
sudo pear config-set auto_discover 1; sudo pear install pear.phpunit.de/PHPUnit
...
@markhalliwell
Copy link

To get the list of installed ports matching a type of string you should use:
port installed php* (for both php53 and php54)
port installed php53*
port installed php54*

@arm1n
Copy link

arm1n commented Feb 2, 2013

Hi guys, have found your gist yesterday when searching for a possibility to have two php versions with macports. Thanks for the helping instructions. Indeed, the builtin sudo port select php php5x doesn't work as expected, therefore I've written a little shell which changes the httpd.conf file with sed. Hope this helps anybody else: https://gist.github.com/4697397

Copy link

ghost commented Mar 1, 2013

hi,
I installed this successfully & php -v showing it right.
But from my code, if I do phpinfo(), it's showing me PHP Version 5.3.15.
Any idea how can I fix it?

Thanks

@someonewhoisme
Copy link

You can try going into /private/etc/apache2 and changing the httpd.conf file that's there so it has the line "LoadModule php5_module /opt/local/apache2/modules/mod_php54.so" somewhere in the list of LoadModule statements.

@brandont
Copy link

Thank you! This worked for me.

@SWW13
Copy link

SWW13 commented Nov 26, 2013

thx works great, even with php 5.5 just replace php54 with php55

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