Drupal

Setting up Memcached on a Mac for Local Drupal Development

When developing Drupal applications on my Mac, I like having access to the same tools I use on servers. This allows me to test for possible conflicts and issues, while evaluating performance impact. I recently decided to look at getting Memcached going on my Mac since we use it on servers at Classic Graphics. Memcached is a memory-based caching system for speeding up web applications by storing chunks of data. Drupal and PHP can leverage Memcached to assist with performance.

Blog Category: 

MAMP Begone! An alternative Apache, MariaDB and PHP stack for Mac OS X

Update: The docs below are deprecated. Please refer to these docs going forward. Also, MAMPbegone is now brewStack! Thanks to @tlattimore for providing the cool name!

I have had an on and off relationship with MAMP over the years. I love how MAMP makes it super easy to install a nice stack of web server tools in an OS X Application, but it does have its share of limitations.

  • Running older version of PHP. Sometimes I would like to run a slightly newer version than is available.
  • Running Apache 2.0. No Apache 2.2 love in MAMP yet.
  • There isn't an easy way to add new PHP extensions. I recently needed XMLRPC and had to track down a binary from the Moodle community. Another example is intl. I needed that for some recent Symfony work.
  • Pear doesn't always work out of the box without some fixes.
  • While it is open source, if I have to compile much to fix MAMP, I might as well compile PHP from CLI from source as I did for years prior to using MAMP.

I do appreciate MAMP! It is great and I still recommend it for anyone who can live within its feature set and limitations. I often recommend it for new Drupal users. MAMP allows them to get started very quickly.

As I mentioned above, I have also spent a bit of my development life compiling Apache and/or PHP from source to build local development environments. This is something that I don't want to do again. So what do I want? I want to have a local development evironment with the following characteristics:

  • Easy to install and configure
  • Easy to upgrade
  • Easy to extend (Adding new PHP extensions or upgrading PHP)
  • php-cgi for use with Drush qd
  • Secure
  • Easy setup for virtual hosts and changes to the /etc/hosts file. I can, but don't need to spend the time configuring this by hand all the time!
  • Lastly, this needs to support my Drupal and Symfony development needs! I have included some additional bits I use, such as drush and Composer.

Blog Category: 

Pages