OSX: Memcache in Verbindung mit MAMP einrichten

21.12.2012

Memcache ist von Hause aus weder Bestandteil von OSX noch von MAMP. Im Netz finden sich viele Tips und Anleitungen, nicht alle haben auf Anhieb funktioniert, daher an dieser Stelle mein Weg der mich nach Rom führte.

Die folgenden Schritte sind mit MAMP in Version 2.1.1 gemacht worden, sollten jedoch auch mit abweichenden Versionen funktionieren.

Vorbereitungen

Im Vorfeld gilt es ein paar Vorbereitungen zu treffen, um den Grundstein für unser Vorhaben zu legen.

Schritt 1: Autoconf installieren

Zur Installation der autoconf greife ich auf meine geliebte Paketverwaltung Homebrew zurück:$ brew install autoconf

Nach kurzer Zeit sollte die Installation abgeschlossen sein und wir können fortfahren.

Schritt 2: Memcached installieren

Im nächsten Schritt installieren wir das eigentliche Caching System – Memcached. Auch hier kommt Homebrew zum Einsatz:$ brew install memcached

Nach erfolgreicher Installation gibt uns Homebrew noch Hinweise zum zukünftigen Starten von memcached.

To have launchd start memcached at login:
   ln -sfv /usr/local/opt/memcached/*.plist ~/Library/LaunchAgents
Then to load memcached now:
   launchctl load ~/Library/LaunchAgents/homebrew.mxcl.memcached.plist
Or, if you don't want/need launchctl, you can just run:
   /usr/local/opt/memcached/bin/memcached

Wer Memcached beim Start ausführen möchte, kann den angegebenen Befehl nutzen oder eben auf das manuelle Starten zurückgreifen.

Schritt 3: Memcache herunterladen

Unter http://pecl.php.net/package/memcache kann das gewünschte memcache-package heruntergeladen werden. Den Tarball benötigen wir später.

MAMP konfigurieren

Schritt 1: PHP Version wählen

MAMP wartet mit unterschiedlichen PHP Versionen auf. Generell können diese Schritte einfach wiederholt werden, indem man einfach nur die Versionsnummer ändert. Im Beispiel gehe ich auf Version PHP 5.3.14 ein. Alle mitgelieferten PHP Distributionen sind bei MAMP im bin/php Ordner zu finden.

$ ls /Applications/MAMP/bin/php

Schritt 2: PHP Source Code herunterladen

Nun benötigen wir den Source Code der zu erweiternden PHP-Version – in meinem Fall PHP 5.3.14 – um später das memcache-Modul compilieren zu können. Über php.net/get/php-5.3.14.tar.gz/from/a/mirror lässt sich der entsprechende Source-Code herunterladen. Möchte man eine andere Version, reicht es in der Regel aus, einfach die Versionsnummer zu ändern.

Schritt 3: PHP Source entpacken und konfigurieren

Im nächsten Schritt entpacken wir den Source in den entsprechenden MAMP-PHP Unterordner und nennen in in include um. Im Beispiel ergibt sich damit folgende Schrittfolge:

$ cd ~/Downloads
$ mkdir /Applications/MAMP/bin/php/php5.3.14/include
$ tar -xvzf php-5.3.14.tar.gz -C /Applications/MAMP/bin/php/php5.3.14/include/
$ mv /Applications/MAMP/bin/php/php5.3.14/include/php-5.3.14 /Applications/MAMP/bin/php/php5.3.14/include/php
$ cd /Applications/MAMP/bin/php/php5.3.14/include/php
$ ./configure

Schritt 4: $PATH erweitern

Damit im späteren Verlauf alles so funktioniert müssen wir die PATH-Variable anpassen. Dazu in die .profile, .zshrc o.A. , je nach Konfiguration des eigenen Macs folgende Zeile einfügen:

PATH=/Applications/MAMP/Library/bin:/Applications/MAMP/bin/php/php5.3.14/bin:$PATH

Dabei muss auch hier die PHP-Version entsprechend angepasst werden.

Schritt 5: Das Memcache-Modul kompilieren und kopieren

Nun geht es an das eigentliche Memcache-Modul. Dazu entpacken wir das zuvor geladene Archiv, führen phpize aus, compilieren die Erweiterung.

$ tar -xzf memcache-2.2.7.tgz
$ cd memcache-2.2.7
$ phpize
$ ./configure
$ make

Nun das compilierte Modul in an seinen Platz kopieren.

$ cp modules/memcache.so /Applications/MAMP/bin/php/php5.3.14/lib/php/extensions/no-debug-non-zts-[TIMESTAMP]/

Anmerkung: Der TIMESTAMP ist abhängig von der Installation und daher nicht näher genannt.

Schritt 6: php.ini updaten

Nun muss die Erweiterung noch in der php.ini von MAMP eingetragen werden.extension=memcache.so

Schritt 7: Installation testen

Memcached starten:

$ memcached

Ruft man nun die http://localhost/MAMP/phpinfo.php auf, sollte sich memcache finden lassen.

Darüber hinaus ist über dieses kleine Script von dorkage.net ebenfalls ein Test möglich.

Fertig!

weitere Blogposts

Composer, Drush & Hosteurope

Composer und drush auf einem HostEurope WebServer installieren.

Whatsapp über den Browser

Whatsapp lässt sich nun auch über den Browser nutzen. Und so funktioniert's auf einem Windows Phone.

Licht ins Dunkel: Drupal's Render Array

Drupal 7 gibt Themern eine neue mächtige Möglichkeit in die Hand: Den Render Array. Dieses kleine Tutorial soll den Einstieg im Umgang mit den Render Arrays erleichtern.

MacBook Air Flash Storage Firmware Update: FileVault deaktivieren

Wer über den Mac App Store das aktuelle Flash Storage Firmware Update für sein MacBook Air installieren möchte, wird sich unter Umständen wundern, warum sich das MacBook Air nicht wie erwartet verhält.

Safari Dev Tools die Zweite

Wer seine Website mittels Safari-Entwickler-Tools analysieren will, kann dies auch in Verbindung mit seinem iPad oder iPhone tun. Mit nur wenigen Schritten kann dies am Mac realisiert werden.

iPhone: Vibrationsmuster ändern

Wer dem "monotone" Vibrieren seines iPhones überdrüssig ist, kann auch ein neues Vibrationsmuster wählen, gar sein ganz eigenes erstellen.

Drupal: Pathalias aus hierarchischer Taxonomy erzeugen

Über Pathauto lässt sich in Drupal 7 von Haus aus nur der gewählte Term selbst aus einem Taxonomy-Referenz-Feld über Tokens darstellen, wie auch Parent-Terms darstellbar sind, zeigt dieser kurze Beitrag.

Safari Dev-Tools und iPhone Simulator

Für "normale" Webseiten kaum wegzudenken – Tools wie Firebug oder die Entwickler-Tools der Webkit-Browser. Hier ein kleiner Tipp wie sich die Safari-Entwickler Tools auch im iPhone-Simulator nutzen lassen.

PT.II: Power Mac G5 – Webdesign und Webentwicklung?

Teil 2 der Fragestellung, was mit einem Power Mac G5 heute noch möglich ist. Diesmal steht vor allem die Webentwicklung und das einrichten eines Servers im Vordergrund.

PT.I: Power Mac G5 – Webdesign und Webentwicklung?

In Zeiten von MacBooks mit Retina Display, noch dünneren iMacs, stellt sich die Frage, ob ein 8 Jahre alter Power Mac G5 noch für die gegenwärtigen alltäglichen Arbeiten in Sachen Webdesign und Webentwicklung taugt oder nicht.

jQuery Plugin Squeeze Gallery verfügbar

Mein erstes kleines jQuery Plugin Squeeze Gallery steht zum Download bereit. Es handelt sich dabei um ein Image-Accordion.

Geschafft!

Es ist geschafft! Einige Zeit hat es mich gekostet, um meine kleine Portfolio-Seite online zu bekommen. Nun ist es soweit.