Part 1: macOS 10.12 Sierra Web Development Environment
This is an updated version of our prior OS X development series. The newly released macOS 10.12 Sierra requires significant changes compared to prior releases, necessitating a thorough revamp in the process. The main change is why now use Homebrew's Apache, rather than the built-in version, but it should continue to work on prior OS X versions.
Developing web applications on macOS is a real joy. There are plenty of options for setting up your development environments, including the ever-popular MAMP Pro that provides a nice UI on top of Apache, PHP and MySQL. However, there are times when MAMP Pro has slow downs, or out of date versions, or is simply behaving badly due to its restrictive system of configuration templates and non-standard builds.
It is times like these that people often look for an alternative approach, and luckily there is one, and it is relatively straight-forward to setup.
In this blog post, we will walk you through setting up and configuring Apache 2.4 and multiple PHP versions. In the second blog post in this two-post series, we will cover MySQL, Apache virtual hosts, APC caching, and Xdebug installation.
We have decided to change the minimum requirements for Grav from PHP 5.4.40 to 5.5.9 to stay in line with the new minimum version of some of our key vendor libraries.
As is typical with these kinds of things, We launched Grav 1.0 right around the same time that PHP 7.0 was released, and everything seemed great. Even though Grav runs amazingly on PHP 7.0 there are some PHP 7.0 compatibility issues within some of the vendor libraries that Grav relies upon.
These external libraries are continually updated and have started dropping support for older EOL (End of Life) versions of PHP. In order to continue using the latest versions of these libraries and support the new PHP 7.0, we need to keep our requirements in line with our key libraries. Grav currently supports PHP 5.4 which was an actively supported version when we started developing Grav, but is no longer supported according to the PHP Supported Versions document.