PECL-Extensions für MAMP erstellen

From macwrench
Jump to navigation Jump to search

MAMP ist bekanntlich ein recht verbreiteter und bekannter Server-Stack für Mac OS X, bestehend aus Apache, MySQL und PHP. Um für die mitgelieferten PHP-Versionen eigene PHP-Extensions erstellen und übersetzen zu können, sind jedoch einige Vorbereitungen zu treffen.

Voraussetzungen

Folgende Voraussetzungen müssen erfüllt sein:

  • Vorhandene MAMP-Installation
  • Installierte Xcode Entwicklungsumgebung von der Mac OS X Installations-DVD, alternativ zu erhalten bei Apple (kostenlose Registrierung erforderlich)
  • PHP-Quellcode der Version, für die eine PECL-Extension erstellt werden soll (z.B. PHP 5.2.6 für MAMP 1.7.2)
  • Quellcode der jeweiligen PECL-Extension, erhältlich über pecl.php.net

Installation

Vorbereitung

Für die Installation sind die folgenden Schritte durchzuführen, im Beispiel anhand der MAMP Version 1.7.2 (PHP 5.2.6)

  1. MAMP und Xcode installieren
  2. Im MAMP-Verzeichnis
    /Applications/MAMP/bin/php5/
    ein Unterverzeichnis include erstellen
  3. Die PHP-Quelltexte von www.php.net herunterladen und entpacken und das Verzeichnis in php umbenennen. Dieses Verzeichnis dann anschließend in das oben erstellte Verzeichnis verschieben, so dass sie sich im Verzeichnis
    /Applications/MAMP/bin/php5/include/php/
    befinden.
  4. Das Mac OS Terminal öffnen und in das Verzeichnis /Applications/MAMP/bin/php5/include/php/ wechseln:
    cd /Applications/MAMP/bin/php5/include/php/
  5. Folgenden Befehl ausführen:
    ./configure

Möglichkeit 1: pecl-Installation

Installation des Pecl-Archivs mit der Kommandozeilen-App pecl:

  1. Dazu im Terminal in folgendes Verzeichnis wechseln:
    /Applications/MAMP/bin/php5/bin/
  2. Danach die Extension mit folgendem Kommando installieren:
    ./pecl i PACKAGENAME

Möglichkeit 2: Archiv von der Webseite

Die Installation aus den Quelltexten von der Webseite:

  1. Das entsprechende Paket von pecl.php.net herunterladen (z.B. auf den Desktop)
  2. Im Terminal in dieses Verzeichnis wechseln und das Paket entpacken:
    cd ~/Desktop/
    tar xzfv PACKAGENAME-VERSION.tar.gz
    cd PACKAGENAME-VERSION/
  3. Anschließend mit phpize das Paket vorbereiten:
    /Applications/MAMP/bin/php5/bin/phpize
  4. Für die Erzeugung eines Binaries, das sowohl eine 32-Bit als auch eine 64-Bit Version enthält. ist nun folgendes einzugeben:
    CFLAGS='-arch i386 -arch x86_64'
  5. Nun kann das Paket übersetzt werden:
    ./configure && make

Installation der Datei

  1. Anschließend die erzeugte Datei in das jeweilige PHP-Extensions-Verzeichnis verschieben:
    /Applications/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-******
  2. Die php.ini Konfigurationsdatei anpassen und die Erweiterung im Abschnitt "dynamic extensions" (um Zeile 520 herum) einfügen, z.B.:
    extension=http.so

Danach den MAMP neu starten.

Siehe auch

Produktwebseiten:

Weitere Infos zum Thema: