Each Mac has a built-in Apache server that runs a built-in PHP.
To upgrade it you need less than 10 minutes once you have understood all the steps needed.
The same applies also to install the last PHP 7.1 version: you only need to change the required version of PHP (see below).
Exploring the LAMP server of a Mac
To understand the built-in PHP of your Mac the first thing you should do is open your terminal and type in:
$ php -v PHP 5.5.24 (cli) (built: May 19 2015 10:10:05) Copyright (c) 1997-2015 The PHP Group Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans
This is the PHP version installed in your Mac.
But, from where is it executed?
$ which php /usr/bin/php
And the php.ini?
$ php -i | grep "php.ini" Configuration File (php.ini) Path => /etc Loaded Configuration File => /etc/php.ini
So, by default Mac OsX has
PHP 5.5.24 with
xDebug 2.2.3 and our
php.ini is located at
How to update PHP on Mac OsX
As we want to update the built-in version of PHP of our Mac OsX, at this point maybe its better to think at a more valuable solution.
Update PHP… go to php.net/downloads.php, download the latest version of PHP, unzip, compile, configure… Mmm, there is a better solution for sure!
And in fact, those good boys at Liip have thought that there should be a better solution… And they built it!
So, in your Terminal, type (use 7.1 if you want to install the last PHP 7.1 version!):
$ curl -s http://php-osx.liip.ch/install.sh | bash -s 5.6
You have just downloaded the best PHP latest version you can find ever.
Now, let’s configure it: it needs less then 5 minutes!
WARNING: If you receive an error like, then you need to stop the built-in Apache instance and reinstall it from Homebrew: it seems the Apache version shipped with MacOS causes some troubles that prevent the server to starting.
Here all the information you need to disable the built-in version of Apache in MacOS and install a fresh new one with Homebrew.
How to configure your updated version of Mac OsX built-in PHP
The package you have just downloaded is a custom version of PHP built by Liip and it provides a lot more functionalities and useful PHP extension than the original Mac OsX built-in PHP, so you will save a lot of time when you’ll install and update them (think at Intl extension or xDebug, for example).
Once downloaded, the Liip’s PHP moves all the files into
/usr/local/php5-5.6.11-20150710-223902/bin and makes a symlink of this folder called php5. In this way, when you’ll update PHP, Apache will automatically load the new PHP version (see more about this in a moment). Really smart!
If you type in Terminal again
which php you’ll get the same result as before. This is because we have to tell our Mac OsX to load PHP from the new location.
To do this we will create a
.bash_profile in our user directory:
$ sudo vi ~/.bash_profile
This will open VIM that will create the new file (if it is already present, type the letter
a to enter the edit mode).
.bash_file write the line
export PATH=/usr/local/php5/bin:$PATH, then press
Esc and type
SHIFT + Z for two times (a shortcut to save and close the file).
Then load again the
.bash_profile file and restart Apache:
$ source ~/.bash_profile $ sudo apachectl restart $ which php /usr/local/php5/bin/php
You have updated your Mac OsX built-in PHP.
On the Liip’s PHP Mac OsX home page you will find a lot of useful information about your new PHP.
The next step you should do is open the
php.ini located at
/usr/local/php5/lib/ and set it the right way.
And, once you have configure your
php.ini, maybe you want to configure your Mac Osx built-in Apache or want to install MySQL in your Mac (as it is not shipped by default).
Remember to “Make. Ideas. Happen.”.
I wish you flocking users, see you soon!