PECL-Extensions für MAMP erstellen


Aus Macwrench

Wechseln zu: Navigation, Suche
Php.png
MAMP.pngTerminal.pngXcode.png

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.

Inhaltsverzeichnis

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
    1. 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.
      1. Das Mac OS Terminal öffnen und in das Verzeichnis /Applications/MAMP/bin/php5/include/php/ wechseln:
        cd /Applications/MAMP/bin/php5/include/php/
        1. 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/
            1. 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
                1. 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'
                  1. 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-******
                      1. 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:

Persönliche Werkzeuge