Advertisement
  1. Computer Skills
  2. Web Servers

Aktualisieren der nativen PHP-Installation unter OS X Mountain Lion

Scroll to top
Read Time: 11 min

() translation by (you can also view the original English article)

Lassen Sie uns sehen, wie wir die native PHP-Installation von OS X 10.8 manuell auf die neueste Version (derzeit 5.4.5) aktualisieren und eine andere nützliche Software installieren können, während wir gerade dabei sind. *AMP-Pakete sind praktisch, aber selten auf dem neuesten Stand. Daher ist es für jeden PHP-Entwickler von unschätzbarem Wert, das in diesem Artikel beschriebene Verfahren zu übernehmen.


Die Theorie des Bauens aus der Quelle

Wenn Sie sich nur für den praktischen Aspekt der Installation von PHP interessieren, können Sie diesen Abschnitt überspringen. Es kann jedoch hilfreich sein, später zu erfahren, wie es tatsächlich funktioniert und warum bestimmte Befehle erforderlich sind.

Jede Installation von Software aus dem Quellcode folgt im Wesentlichen der gleichen Befehlskette: Laden Sie die Quelldateien herunter, konfigurieren Sie sie, erstellen Sie sie, testen Sie sie optional und installieren Sie sie.

Configure

Das "configure"-Skript teilt "make" mit, was erstellt werden soll. Das Konfigurationsskript wird durch Eingabe von "./configure" ausgeführt, analysiert Abhängigkeiten, überprüft, ob Sie ein unterstütztes Betriebssystem ausführen, richtet die erforderlichen Dateien für das angegebene Betriebssystem ein und generiert schließlich ein Makefile, das beim Aufruf von "make" festlegt, wie und was genau soll gebaut werden.

"configure" teilt "make" mit, was gebaut werden soll

Wenn das Konfigurationsskript fehlende Abhängigkeiten oder Fehler findet, führt es einen Exit durch und stoppt die Ausführung, sodass der Benutzer alle Hindernisse entfernen oder umgehen kann, bevor er fortfährt. Der Befehl configure steht beim Erstellen aus der Quelle immer an erster Stelle.

Make

Als nächstes erstellt "make" das, was configure zum Erstellen aufgefordert hat. "Make" wird durch einfaches Eingeben von "make" initialisiert und ist eigentlich ein GNU-Dienstprogramm, das im Allgemeinen verwendet wird, um eine Reihe von Dateien zu verwalten und sie bei Bedarf neu zu kompilieren.

"make" erstellt, was configure zum Erstellen aufgefordert hat

Um zu funktionieren, ist ein Makefile erforderlich - eine Datei, in der die Anweisungen beschrieben und die Beziehungen zwischen den betreffenden Dateien notiert werden. Nach der Ausführung liest der Befehl make das Makefile und führt die Aufgaben aus.

Der Befehl "make test" führt den Befehl make aus, testet aber auch die Kompilierung anhand eines Testziels. Nicht alle Quelldistributionen unterstützen "make test". Sofern dies nicht ausdrücklich in der Installationsdokumentation der zu installierenden Software angegeben ist, sollten Sie das reguläre "make" verwenden.

Der Befehl "make test" führt den Befehl make aus, testet aber auch die Kompilierung anhand eines Testziels.

"sudo make install" installiert die Dateien, die "make" in vordefinierte Ordner integriert haben. Es behandelt alle Einschlüsse, aktualisiert und löst Pfade auf und verschiebt alles dorthin, wo es sein sollte. Tatsächlich wird die Installation abgeschlossen und der Benutzer muss normalerweise nichts weiter tun.

Genau das kann Homebrew - der Paketmanager, den wir im nächsten Abschnitt installieren. Es kann den gleichen Ablauf intern ausführen. Sie sehen nichts davon direkt, aber es wird mehr oder weniger dieselbe Kette ausgeführt, wenn die vom "brewer" vorgelegte "formula" auf diese Weise erstellt wird.

Dies macht den gesamten Prozess weniger umständlich, da automatisch nach Abhängigkeiten gesucht und diese installiert werden, bevor das vorgesehene Hauptpaket verwendet wird. Anschließend wird es heruntergeladen und die Archivierung aufgehoben und die Installationskette configure, make, make ausgeführt, um die Installation abzuschließen.

Fast jede Installation von der Quelle folgt den gleichen Schritten: Herunterladen, Konfigurieren, Erstellen, Installieren.

Homebrew

Damit die Installation von PHP so reibungslos wie möglich verläuft, müssen wir Homebrew installieren, einen Paketmanager für OSX, der viele Installationen für Sie ausführen kann - Installationen, die andernfalls komplexe Erstellungsverfahren erfordern und kritische Abhängigkeiten aufweisen können Stunden zu lösen.

Wenn Sie Homebrew installiert haben, profitieren Sie langfristig davon.

Die Installation von Homebrew wird Ihnen langfristig zugute kommen, nicht nur für den Zweck dieses Artikels. Es bietet eine schnelle Möglichkeit, gängige Bibliotheken und Software zu installieren, ohne aus dem Quellcode erstellen zu müssen.
Um es zu installieren, müssen wir Folgendes tun (überspringen Sie diesen Abschnitt, wenn Sie Homebrew installiert haben):

  1. Installieren Sie XCode über den App Store. Installieren Sie nach der Installation die BefehlszeilenWerkzeugs über die XCode-App selbst oder laden Sie sie von http://developers.apple.com herunter und installieren Sie sie. Wir brauchen XCode und CLT, weil Homebrew sie benötigt.
  2. Installieren Sie X11 von hier aus. Dies ist auch eine Homebrew-Anforderung. Wählen Sie die neueste verfügbare Version aus, nicht unbedingt die hier verlinkte.
  3. Installieren Sie Homebrew von GitHub.
  4. Wenn Sie auf Probleme stoßen, müssen Sie nach Schritt 1 und 2 möglicherweise Folgendes tun:
    1
    $ sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
    
    2
    $ ln -s /opt/X11 /usr/X11
    

    ..aus diesem Beitrag entnommen. Dies geschieht in einigen Fällen von Mountain Lion aus irgendeinem Grund.

Führen Sie anschließend den Brauarzt aus und überprüfen Sie, ob alles funktioniert (gemäß den Anweisungen auf der Homebrew-Website).


PHP

Voraussichtlich müssen für die Installation von PHP bestimmte Bibliotheken installiert sein. Glücklicherweise ist Homebrew hier, um diese Installationen für uns zu erledigen. Installieren Sie Folgendes:

1
brew install libjpeg
2
brew install pcre
3
brew install libxml2
4
brew install mcrypt

Laden Sie anschließend die PHP-Quelldateien von Php.net herunter. Entpacken Sie das Archiv, öffnen Sie Ihr Terminal und wechseln Sie in den Quellordner (z. B. cd ~/Downloads/php-5.4.5/ oder wo immer Sie die Quellen heruntergeladen haben).

Wenn Sie vorhaben, mit Zend Framework 2 zu arbeiten und mit der Beispielskelettanwendung von Rob "Akrabat" Allen beginnen möchten, oder wenn Sie Ihre Anwendung in mehreren Sprachen bereitstellen möchten, benötigen Sie PHP-Intl-Unterstützung. Damit das Konfigurationsskript beim Erstellen des Makefiles php-intl berücksichtigen kann, müssen wir eine andere Abhängigkeit installieren - ICU. Laden Sie dies von ICU-Project.org herunter und führen Sie Folgendes aus:

1
tar xzvf icu4c-4_8_1-src.tgz
2
cd icu/source
3
./runConfigureICU MacOSX
4
make
5
sudo make install

Dies behandelte alle grundlegenden Abhängigkeiten, die PHP jemals von uns haben wollte (vorerst). Wir können es jetzt endlich bauen und installieren.

Installieren

Führen Sie zunächst im nicht archivierten Quellordner von PHP den folgenden Konfigurationsbefehl aus:

1
./configure  \
2
--prefix=/usr  \
3
--mandir=/usr/share/man  \
4
--infodir=/usr/share/info  \
5
--sysconfdir=/private/etc  \
6
--with-apxs2=/usr/sbin/apxs  \
7
--enable-cli  \
8
--with-config-file-path=/etc  \
9
--with-libxml-dir=/usr  \
10
--with-openssl=/usr  \
11
--with-kerberos=/usr  \
12
--with-zlib=/usr  \
13
--enable-bcmath  \
14
--with-bz2=/usr  \
15
--enable-calendar  \
16
--with-curl=/usr  \
17
--enable-dba  \
18
--enable-exif  \
19
--enable-ftp  \
20
--with-gd  \
21
--enable-gd-native-ttf  \
22
--with-icu-dir=/usr  \
23
--with-iodbc=/usr  \
24
--with-ldap=/usr  \
25
--with-ldap-sasl=/usr  \
26
--with-libedit=/usr  \
27
--enable-mbstring  \
28
--enable-mbregex  \
29
--with-mysql=mysqlnd  \
30
--with-mysqli=mysqlnd  \
31
--without-pear  \
32
--with-pdo-mysql=mysqlnd  \
33
--with-mysql-sock=/var/mysql/mysql.sock  \
34
--with-readline=/usr  \
35
--enable-shmop  \
36
--with-snmp=/usr  \
37
--enable-soap  \
38
--enable-sockets  \
39
--enable-sysvmsg  \
40
--enable-sysvsem  \
41
--enable-sysvshm  \
42
--with-tidy  \
43
--enable-wddx  \
44
--with-xmlrpc  \
45
--with-iconv-dir=/usr  \
46
--with-xsl=/usr  \
47
--enable-zip  \
48
--with-imap=/usr/local/imap-2007 \
49
--with-kerberos \
50
--with-imap-ssl \
51
--enable-intl \
52
--with-pcre-regex  \
53
--with-pgsql=/usr  \
54
--with-pdo-pgsql=/usr \
55
--with-freetype-dir=/usr/X11 \
56
--with-jpeg-dir=/usr  \
57
--with-png-dir=/usr/X11

Sobald Sie fertig sind, führen Sie aus

1
$ make test

"make test"-Läufe machen make und testen die Kompilierungen auf Fehler

Wie im Abschnitt zur Build-Theorie erwähnt, werden die Kompilierungen mit make ausgeführt und getestet. Dies kann eine Weile dauern, bis zu 30 Minuten, da jede einzelne Facette von PHP getestet wird. Wenn PHP fertig ist und Fehler gefunden hat (und dies wahrscheinlich auch tun wird), melden Sie diese den Entwicklern, indem Sie den Anweisungen auf dem Bildschirm folgen. Keine Sorge, alles ist noch in Ordnung - die gefundenen Fehler sind normalerweise weniger als wichtig.

Make TestMake TestMake Test
Wie Sie sehen, sollen einige 11503-Tests durchgeführt werden. Dies wird eine Weile dauern.

Wenn Sie das ursprüngliche PHP bereits aktiviert und konfiguriert haben, erstellen Sie jetzt eine Sicherungskopie Ihrer php.ini-Datei. Es sollte sich in /etc/php.ini befinden

Führen Sie abschließend Folgendes aus, um PHP tatsächlich zu installieren.

1
$ sudo make install

Es ist am besten, die neue php.ini-Datei nicht mit Ihrer alten zu überschreiben, wenn Sie ein Backup erstellt haben. Kopieren Sie stattdessen die benötigten Werte manuell, um auf der sicheren Seite zu bleiben. Auf diese Weise stellen wir sicher, dass die neue Datei php.ini vollständig mit der neu installierten Version kompatibel ist.


Apache-Konfiguration

Fast fertig! Wenn Sie zuvor bereits PHP auf Ihrem Computer aktiviert hatten und der einzige Zweck des Lesens dieses Artikels darin bestand, das vorhandene PHP tatsächlich zu aktualisieren, sind Sie fertig - alles sollte funktionieren.

Wenn nicht, müssen wir PHP in der nativen Apache-Installation von OSX aktivieren. Da sich die httpd.conf-Datei wahrscheinlich am Standardspeicherort befindet, öffnen Sie sie wie folgt über Terminal in TextEdit:

1
$ SUDO_EDITOR="open -FWne" sudo -e /etc/apache2/httpd.conf

Ich verwende hier den Befehl SUDO EDITOR, um die Datei in TextEdit zu öffnen, einfach weil ich es für viel einfacher halte, Dateien in Vim oder Nano zu bearbeiten. Ich hätte genauso gut "$ sudo vim /ect/apache2/httpd.conf" verwenden können, um es in vim zu bearbeiten.

Kommentieren Sie als Nächstes die folgenden Zeilen aus (sie befinden sich nicht nebeneinander - verwenden Sie den Befehl Suchen, um sie zu suchen).

1
LoadModule php5_module        libexec/apache2/libphp5.so
2
Include /private/etc/apache2/extra/httpd-vhosts.conf

Die erste Zeile aktiviert die Verwendung von PHP als Apache-Modul. Die zweite Zeile ist vorhanden, damit die Hautdatei httpd.conf (Apache-Konfiguration) die virtuellen Hosts aus der vhosts-Datei abruft und uns die Mühe einer übermäßigen Bearbeitung in der überempfindlichen httpd.conf erspart. Dies hat den zusätzlichen Vorteil, dass Sie eine vhosts-Datei irgendwo außerhalb von /etc speichern und für andere Entwicklungsmaschinen oder Neuinstallationen sichern können.

Ein sehr praktischer Ansatz besteht darin, es in einem Cloud-Dienst wie Google Drive oder Dropbox zu hosten und direkt von httpd.conf aus darauf zu verlinken. Auf diese Weise wird beim Hinzufügen eines neuen virtuellen Hosts dieser automatisch auf jedem Ihrer Computer installiert, sobald Sie den lokalen Apache-Server neu starten.


Hinzufügen eines Vhost und Einpacken

Ein virtueller Host ist eine lokal gehostete imaginäre Domäne. Grundsätzlich können Sie Ihre Projekte im Browser testen, indem Sie verschiedene URLs eingeben. Auf meinem Computer könnte ich beispielsweise http://mactuts.tutorial besuchen und die Hello World-App sehen, mit der dieser Abschnitt endet, oder ich könnte http://mw.dev besuchen, um die Entwicklungsversion eines Projekts zu sehen, das ich bin arbeiten an. Ganz einfach, eine andere URL löst einen anderen Quellordner aus und öffnet ein anderes Projekt als Website. Hier ist eine Kurzanleitung zum Hinzufügen eines vhost. Wenn Sie bereits vhosts eingerichtet haben oder alles über sie verstehen, können Sie diesen Abschnitt überspringen.

Schritt 1: Bearbeiten der Hosts-Datei

Zunächst nennen wir unseren Beispiel-vhost "mactuts.tutorial". Fügen Sie dazu einen Eintrag in /etc/hosts hinzu, der folgendermaßen aussieht:

1
127.0.0.1        mactuts.tutorial

Dies bedeutet, dass der Zugriff auf die URL http://mactuts.tutorial im Browser auf 127.0.0.1:80 oder mit anderen Worten auf Port 80 unseres lokalen Servers (Apache) erfolgt.

HostsHostsHosts
Dies ist eine Beispiel-Hosts-Datei. Beachten Sie, dass auf diesem Computer auch einige andere virtuelle Hosts eingerichtet sind

Schritt 2: Fügen Sie einen Apache vhost hinzu

Fügen Sie als Nächstes einen Block in etc/apache2/extra/httpd-vhosts.conf hinzu, der ungefähr so aussieht:

1
<VirtualHost *:80>
2
    ServerName mactuts.tutorial
3
    DocumentRoot "/Users/{USERNAME}/Sites/mactuts"
4
    ServerAdmin bruno@skvorc.me
5
        <Directory "/Users/{USERNAME}/Sites/mactuts">
6
            Options Indexes FollowSymLinks
7
            AllowOverride All
8
            Order allow,deny
9
            Allow from all
10
        </Directory>
11
</VirtualHost>

Ersetzen Sie {USERNAME} durch Ihren eigenen Benutzernamen ohne geschweifte Klammern. Dies teilt Apache Folgendes mit: Wenn Sie etwas an Port 80 haben, überprüfen Sie dessen ursprünglichen URL-Namen. Wenn es sich um mactuts.tutorial handelt, richten Sie alle diese Optionen ein.

Schritt 3: Starten Sie Apache neu

Starten Sie anschließend Apache mit neu

1
$ sudo apachectl restart

Schritt 4: Erstellen Sie die Indexdatei

3) Erstellen Sie den Ordner "/Users/{USERNAME}/Sites/mactuts" (ersetzen Sie natürlich {USERNAME} durch den Namen Ihres OSX-Benutzers) und legen Sie eine index.php-Datei mit folgendem Inhalt darin ab:

1
<?php echo 'Hello world'; ?>

Schritt 5: Probieren Sie es aus!

Gehen Sie zu http://mactuts.tutorial. Sie sollten "Hello World" sehen!


Alternativen

Kürzlich ist eine Alternative zu diesem Ansatz aufgetaucht - die Installation von PHP über Homebrew selbst. Das Problem ist, dass es zum Zeitpunkt dieses Schreibens (Anfang August 2012) keine offiziellen Kanäle gibt, sodass für Homebrew ein alternativer Tipp aktiviert werden muss.

Auch die OS X-Version, auf der ich dies getestet habe, Mountain Lion, konnte leider nicht auf diese Weise installiert werden und warf vage Fehler auf mich, die ich nicht beheben konnte. Wenn Sie sich abenteuerlustig fühlen, lesen Sie diesen Beitrag und versuchen Sie, ihn entsprechend Ihrem eigenen Betriebssystem und der gewünschten PHP-Version zu ändern.

Eine stabilere Alternative scheint hier verfügbar zu sein, aber das Feedback ist lasch und es gibt nicht viel zu tun, daher überlasse ich diese Methoden dem Experimentieren der Leser.

Aktualisierung

Hier sind einige Alternativen, die von Kommentatoren seit Veröffentlichung des Beitrags vorgeschlagen wurden.

php_osx
Eine andere (scheinbar reibungslos funktionierende) Alternative dazu wurde mir vom Kommentator DaftViking zur Kenntnis gebracht und beinhaltet die Installation von PHP über php_osx.

Macports
Obwohl ich das Auslaufen von Macports zugunsten von Homebrew befürworte, scheint Macports auch eine stabilisierte Version von PHP hinzugefügt zu haben, sodass dies möglicherweise eine weitere funktionierende Alternative darstellt. Ich persönlich habe diesen Ansatz nicht getestet, aber für diejenigen, die sich mit Macports auskennen, finden Sie hier weitere Informationen. Vielen Dank an Redditor nemeth88 für das Heads Up!


Abschluss

OS X wird mit einer vorinstallierten PHP- und Apache-Konfiguration geliefert. Leider ist die mitgelieferte PHP-Version stark veraltet und wird nur aktualisiert, wenn eine neue Betriebssystemversion installiert wird. Bis dahin ist die neue PHP-Version bereits veraltet. Was kann man also tun, außer ein *AMP-Paket (Apache/Mysql/Php) abzurufen (das selten, wenn überhaupt, aktuelle PHP-Versionen enthält)? außer es manuell zu aktualisieren?

In diesem Tutorial haben wir die Grundlagen des Erstellens aus dem Quellcode behandelt, eine neue, aktuelle Version von PHP erstellt und installiert und sogar Homebrew installiert, wodurch die weitere Installation von Software und Bibliotheken sehr einfach wird. Wir haben uns auch mit der Erstellung eines virtuellen Hosts befasst und unsere Installation getestet, um sicherzustellen, dass sie funktioniert. Ich hoffe es hat euch gefallen und alles hat wie geplant funktioniert. Wenn Sie auf Probleme stoßen, können Sie diese gerne in den Kommentaren veröffentlichen. Wir werden die Probleme dann gemeinsam bearbeiten.

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Computer Skills tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.