Join the DZone community and get the full member experience.
Join For Free
It's that time again; Apple has shipped a new version of OS X, 10.10 Yosemite. Apple ships PHP 5.5.14 with Yosemite and this is how to set it up from a clean install.
However, if you don't want to use the built-in PHP or want to use version 5.6, then these are some alternatives:
PHP 5.3/5.4/5.5 for OS X 10.6/10.7/10.8/10.9/10.10 as binary package by Liip
Homebrew has PHP.
Zend Server 7.x (Paid for)
Let's get started…
Homebrew
Homebrew is a package manager for OS X. Install it, as we'll need it later.
You'll also need the Xcode command line tools – at least version 6.1. Usually you would install using xcode-select --install, however, as of this writing Xcode 6.1 isn't available on the Mac App Store, so use this direct link. Don't forget to start up Xcode…
Note: if /usr/include doesn't exist, then you need to do:
As of this writing, the latest version, 5.7.11 is labeled for OS X 10.10 but I was able to install it with no problems on El Capitan (10.11). During the installation, you will be asked to create a password for the root MySQL user – make sure to write this password down somewhere safe!
MySQL
You can do it with a GUI way, use this link and download your version. Install mysql and the options. After that you will find the mysql option in your System Preferences. I used that way on my MacBook Pro and works.
Download Latest Version xampp-windows-x64-7.4.11-0-VC15-installer.exe (162.5 MB) Get Updates Get project updates, sponsored content from our select partners, and more.
The MySQL download can be found here. Download the Mac OS X 10.10 (x86, 64-bit), DMG Archive. When download is complete, open the installation packages by double-clicking the package icon. There will be a pop-up window that provides a temporary password for MySQL’s “root” user. This password will be a slew of random characters that is crucial to getting MySQL up and running smoothly.
If you need a GUI for MySQL Database, you can download - NAVICAT (MySQL GUI). It supports to import Oracle, MS SQL, MS Access, Excel, CSV, XML, or other formats to MySQL. Mac OS X 10.10/10.11.
Download the 'Mac OS X 10.9 (x86, 64-bit), DMG Archive' from mysql.com and install the pkg.
Open the pref pane and start the MySQL Server.
Update the path by editing ~/.bash_profile and add:
at top of file.
Set up MySQL root password:
Clear the history file by typing history -c so that {new-password} isn't in plain text on the disk.
Now ensure that the mysql.sock file can be found by PHP:
Ensure that MySQL is running
sudo mkdir /var/mysql
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock
Apache
In Yosemite, Apache 2.4.9 is installed. We just have to use the command line to start and stop it.
One change compared to 2.2.x worth noting is that we now need the Require all granted directive in our virtual host definitions in place of Allow from all. Read the upgrading documentation for more information.
cd /etc/apache2
Edit /etc/apache2/httpd.conf
To enable PHP and rewriting in Apache, remove the leading # from these two lines:
Find the <Directory '/Library/WebServer/Documents'>section and change: AllowOverride None to AllowOverride All so that .htaccess files will work and Options FollowSymLinks Multiviews to Options FollowSymLinks Multiviews Indexes so that we can view directory listings.
Restart Apache: sudo apachectl restart
Give yourself permissions to the /Library/WebServer/Documents/ folder using the terminal commands:
sudo chgrp staff /Library/WebServer/Documents
sudo chmod g+rws /Library/WebServer/Documents
sudo chmod g+rw /Library/WebServer/Documents/*
Open Finder and navigate to /Library/WebServer/Documents/ using shift+cmd+g
Create a new folder called 'orig' and place all files currently in the Documents folder into it.
Create a new file called info.php with <?php phpinfo(); inside it.
Use Safari to navigate to http://localhost/info.php and check that the PHP version is displayed (5.5.14 at the time of writing).
php.ini
cd /etc
sudo cp php.ini.default php.ini
sudo chmod ug+w php.ini
sudo chgrp admin php.ini
Edit php.ini and change settings appropriately. At a minimum, you should change:
Xdebug
Can't have a PHP development environment without xdebug! Fortunately, Yosemite ships with it ready to enable:
Edit /etc/php.ini and add this line to the end:
If you want to configure your xdebug settings, then add an [xdebug] section. I like these settings (use with caution…):
Restart apache: sudo apachectl restart and check in the phpinfo that xdebug is now loaded.
Composer
Install Composer into /usr/local/bin:
cd /usr/local/bin
curl -sS https://getcomposer.org/installer | php
mv composer.phar composer
Mysql Download Mac Os
PEAR
We need PEAR solely for installing PHP extensions using PECL. We just need to run the install phar file.
cd /usr/lib/php
sudo php install-pear-nozlib.phar
sudo pear channel-update pear.php.net
sudo pecl channel-update pecl.php.net
sudo pear upgrade-all
sudo pear config-set auto_discover 1
Compiling extensions
To compile extensions, you need the Xcode command line tools and autoconf.
brew install autoconf
Intl extension
If you need Locale:
Download Mysql For Mac Os X Yosemite
brew install icu4c
sudo pecl install intl The path to the ICU libraries and headers is: /usr/local/opt/icu4c/
Edit /etc/php.ini and add extension=intl.so to the end.
Mcrypt extension
Firstly, install mcrypt:
brew install mcrypt
Now the PHP extension:
Mysql For Mac Os
brew tap homebrew/dupes
brew tap homebrew/versions
brew tap homebrew/php
Edit /usr/local/Library/Taps/homebrew/homebrew-php/Abstract/abstract-php-extension.rb and patch as per this patch. (At least until this PR is accepted!)