Sehen wir uns an, wie wir die native OS X 10.8 PHP-Installation manuell auf die neueste Version (derzeit 5.4.5) aktualisieren können, während wir noch eine andere nützliche Software installieren. * 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.
Wenn Sie nur an dem praktischen Aspekt der Installation von PHP interessiert sind, können Sie diesen Abschnitt überspringen. Es kann jedoch für Sie später nützlich sein, zu wissen, wie er tatsächlich funktioniert und warum bestimmte Befehle erforderlich sind.
Jede Installation der Software von der Quelle aus folgt grundsätzlich der gleichen Befehlskette: Laden Sie die Quelldateien herunter, konfigurieren Sie sie, machen Sie sie, testen Sie, installieren Sie sie.
Das Skript "configure" sagt "make", was erstellt werden soll. Durch die Eingabe von „./configure“ analysiert das configure-Skript Abhängigkeiten, überprüft, ob ein unterstütztes Betriebssystem ausgeführt wird, erstellt die erforderlichen Dateien für das angegebene Betriebssystem und generiert schließlich ein Makefile, das beim Aufruf von „make“ vorschreibt, wie und was genau soll gebaut werden.
"Configure" sagt "make", was gebaut werden soll
Wenn das Konfigurationsskript fehlende Abhängigkeiten oder Fehler findet, führt es einen Exit aus und stoppt die Ausführung, sodass der Benutzer Hindernisse entfernen oder umgehen kann, bevor er fortfährt. Der configure-Befehl steht immer an erster Stelle, wenn Sie von der Quelle aus erstellen.
Als Nächstes erstellt "make" das, was configure zum Bauen sagte. "Make" wird durch einfaches Eingeben von "make" initialisiert und ist eigentlich ein GNU-Dienstprogramm, mit dem im Allgemeinen eine Gruppe von Dateien gepflegt und bei Bedarf neu kompiliert wird.
"Make" erstellt das, was configure zum Bauen sagte
Um zu funktionieren, benötigt es ein Makefile - eine Datei, in der ihre Direktiven beschrieben und Beziehungen zwischen den betreffenden Dateien angegeben werden. Nach dem Ausführen 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". Wenn dies nicht ausdrücklich in der Installationsdokumentation der zu installierenden Software angegeben ist, können 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 in vordefinierten Ordnern „make“ sind. Es behandelt alle Einschlüsse, aktualisiert und löst Pfade auf und verschiebt alles dahin, wo es sein sollte. Die Installation wird effektiv abgeschlossen, und der Benutzer muss normalerweise nichts anderes tun.
Dies ist eigentlich genau das, was Homebrew - der Paketmanager, den wir im nächsten Abschnitt installieren - ausführen kann. Es kann denselben Fluss intern ausführen. Sie sehen wirklich nichts davon direkt, aber es wird mehr oder weniger dieselbe Kette ausgeführt, wenn die vom Brauer übermittelte "Formel" auf diese Weise erstellt wird.
Dadurch wird der gesamte Prozess weniger mühsam, indem automatisch nach Abhängigkeiten gesucht und diese installiert werden, bevor mit dem Hauptpaket fortgefahren wird. Anschließend lädt und deinstalliert es das Archiv und führt die Installations-, Installations- und Installationskette aus, um die Installation abzuschließen.
Fast jede Installation vom Quellcode aus führt die gleichen Schritte aus: Herunterladen, Konfigurieren, Erstellen, Installieren.
Damit die Installation von PHP so reibungslos wie möglich verläuft, müssen Sie Homebrew installieren, einen Paketmanager für OSX, der viele Installationen für Sie abwickeln kann - Installationen, die ansonsten komplexe Erstellungsprozeduren erfordern und kritische Abhängigkeiten haben können Stunden zu lösen.
Wenn Sie Homebrew installiert haben, werden Sie auf lange Sicht davon profitieren.
Die Installation von Homebrew wird nicht nur für die Zwecke dieses Artikels langfristig von Nutzen sein. Es bietet eine schnelle Möglichkeit, gängige Bibliotheken und Software zu installieren, ohne vom Quellcode aus erstellen zu müssen.
Um es zu installieren, müssen wir Folgendes tun (überspringen Sie diesen Abschnitt, wenn Sie Homebrew installiert haben):
$ sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer $ ln -s / opt / X11 / usr / X11
… Aus diesem Beitrag entnommen. Dies kann aus irgendeinem Grund in einigen Fällen von Mountain Lion passieren.
Sobald Sie fertig sind, führen Sie einen Braudoktor aus und überprüfen Sie, ob alles funktioniert (gemäß den Anweisungen auf der Homebrew-Website)..
Voraussichtlich erfordert die Installation von PHP die Installation bestimmter Bibliotheken. Glücklicherweise ist Homebrew hier, um diese Installationen für uns zu erledigen. Installieren Sie Folgendes:
Brew installieren libjpeg Brew installieren pcre Brew installieren libxml2 Brew installieren 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 auch immer Sie die Quellen heruntergeladen haben)..
Wenn Sie vorhaben, mit Zend Framework 2 zu arbeiten, und mit der Beispielanwendung von Rob Akrabat Allen beginnen möchten oder wenn Sie Ihre Anwendung in mehreren Sprachen bereitstellen möchten, benötigen Sie die Unterstützung von php-intl. Damit das configure-Skript php-intl beim Erstellen des Makefiles berücksichtigen kann, müssen Sie eine andere Abhängigkeit installieren - ICU. Laden Sie dies von ICU-Project.org herunter und führen Sie Folgendes aus:
tar xzvf icu4c-4_8_1-src.tgz cd icu / source ./runConfigureICU MacOSX make sudo make install
Damit wurden alle grundlegenden Abhängigkeiten behandelt, die PHP (von jetzt an) von uns erwarten konnte. Wir können es jetzt endlich bauen und installieren.
Führen Sie zunächst im nicht-archivierten Quellordner von PHP den folgenden configure-Befehl aus:
./ configure \ --prefix = / usr \ --mandir = / usr / share / man \ --infodir = / usr / share / info \ --sysconfdir = / private / etc \ --with-apxs2 = / usr / sbin / apxs \ --enable-cli \ --with-config-file-path = / etc \ --with-libxml-dir = / usr \ --with-openssl = / usr \ --with-kerberos = / usr \ --with-zlib = / usr \ --enable-bcmath \ --with-bz2 = / usr \ --enable-calendar \ --with-curl = / usr \ --enable-dba \ --enable -exif \ --enable-ftp \ --with-gd \ --enable-gd-native-ttf \ --with-icu-dir = / usr \ --with-iodbc = / usr \ --with-ldap = / usr \ --with-ldap-sasl = / usr \ --with-libedit = / usr \ --enable-mbstring \ --enable-mbregex \ --with-mysql = mysqlnd \ --with-mysqli = mysqlnd \ --without-pear \ --with-pdo-mysql = mysqlnd \ --with-mysql-sock = / var / mysql / mysql.sock \ --with-readline = / usr \ --enable-shmop \ --with-snmp = / usr \ --enable-soap \ --enable-sockets \ --enable-sysvmsg \ --enable-sysvsem \ --enable-sysvshm \ --with-tidy \ --enable-wddx \ --with-xmlrpc \ --with-iconv-dir = / usr \ --with-xsl = / usr \ --enable-zip \ --with-imap = / usr / local / imap-2007 \ --with-kerberos \ --with-imap-ssl \ --enable-intl \ --with-pcre-regex \ --with-pgsql = / usr \ --with-pdo-pgsql = / usr \ - -with-freetype-dir = / usr / X11 \ --with-jpeg-dir = / usr \ --with-png-dir = / usr / X11
Sobald Sie fertig sind, führen Sie es aus
$ test machen
"Make test" -Läufe machen und testen die Zusammenstellungen auf Fehler
Wie im Abschnitt "Build Theory" erwähnt, werden die Kompilierungen mit make erstellt und getestet. Dies kann eine Weile dauern, bis zu 30 Minuten, da jede einzelne Facette von PHP getestet wird. Wenn PHP alle Fehler gefunden hat (was wahrscheinlich der Fall ist), melden Sie diese den Entwicklern, indem Sie den Anweisungen auf dem Bildschirm folgen. Machen Sie sich keine Sorgen, alles ist immer noch in Ordnung - die Fehler sind in der Regel weniger wichtig.
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 schließlich Folgendes aus, um PHP tatsächlich zu installieren.
$ sudo make install
Es ist am besten, die neue php.ini-Datei nicht mit der alten zu überschreiben, wenn Sie eine Sicherungskopie erstellen. Kopieren Sie stattdessen die benötigten Werte manuell, um auf der sicheren Seite zu bleiben. Auf diese Weise stellen wir sicher, dass die neue php.ini-Datei vollständig mit der neu installierten Version kompatibel ist.
Fast fertig! Wenn Sie PHP bereits zuvor auf Ihrem Computer aktiviert hatten und der einzige Zweck zum Lesen dieses Artikels war, das vorhandene PHP zu aktualisieren, sind Sie fertig - alles sollte funktionieren.
Wenn nicht, müssen wir jedoch PHP in der nativen Apache-Installation von OSX aktivieren. Da sich die httpd.conf-Datei wahrscheinlich am Standardspeicherort befinden wird, öffnen Sie sie über das Terminal in TextEdit wie folgt:
$ SUDO_EDITOR = "open -FWne" sudo -e /etc/apache2/httpd.conf
Ich benutze den SUDO EDITOR-Befehl hier, um die Datei in TextEdit zu öffnen, einfach weil ich es für viel einfacher halte, Dateien als 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 (sie stehen nicht nebeneinander - verwenden Sie den Befehl Suchen, um sie zu finden)
LoadModule php5_module libexec / apache2 / libphp5.so Fügen Sie /private/etc/apache2/extra/httpd-vhosts.conf ein
Die erste Zeile aktiviert die Verwendung von PHP als Apache-Modul. Die zweite Zeile ist so, dass die Hauptdatei httpd.conf (Apaches Konfiguration) die virtuellen Hosts aus der vhosts-Datei sammelt und uns die übermäßige Bearbeitung in der übermäßig sensiblen httpd.conf erspart. Dies hat den zusätzlichen Vorteil, dass Sie eine vhosts-Datei außerhalb von / etc speichern und für andere Entwicklungsmaschinen oder Neuinstallationen sichern können.
Ein sehr praktischer Ansatz hierfür ist das Hosting auf einem Cloud-Dienst wie Google Drive oder Dropbox und die direkte Verknüpfung mit httpd.conf. Wenn Sie einen neuen virtuellen Host hinzufügen, wird er automatisch auf jedem Computer installiert, sobald Sie den lokalen Apache-Server neu starten.
Ein virtueller Host ist eine lokal gehostete imaginäre Domäne. Im Grunde können Sie Ihre Projekte im Browser testen, indem Sie verschiedene URLs eingeben. Zum Beispiel könnte ich auf meinem Computer http: //mactuts.tutorial besuchen und die Hello World-App sehen, mit der dieser Abschnitt endet, oder http://mw.dev, um die Entwicklungsversion eines Projekts zu sehen arbeiten an. Ganz einfach: Eine andere URL löst einen anderen Quellordner aus und öffnet ein anderes Projekt als Website. Hier ist eine kurze Anleitung zum Hinzufügen eines Vhosts. Wenn Sie bereits vhosts eingerichtet haben oder alles über sie verstehen, können Sie diesen Abschnitt überspringen.
Zuerst nennen wir unser Beispiel vhost "mactuts.tutorial". Fügen Sie dazu in / etc / hosts einen Eintrag hinzu, der folgendermaßen aussieht:
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 auf Port 80 unseres lokalen Servers (Apache) geht..
Fügen Sie in etc / apache2 / extra / httpd-vhosts.conf einen Block hinzu, der ungefähr wie folgt aussieht:
ServerName mactuts.tutorial DocumentRoot "/ Benutzer / BENUTZERNAME / Sites / mactuts" ServerAdmin [email protected] Optionsindizes FollowSymLinks AllowOverride All Order erlauben, Alle zulassen
Ersetzen Sie USERNAME durch Ihren eigenen Benutzernamen ohne die geschweiften Klammern. Dies teilt Apache Folgendes mit: Wenn Sie etwas an Port 80 haben, überprüfen Sie den ursprünglichen URL-Namen. Wenn es sich um mactuts.tutorial handelt, richten Sie alle diese Optionen ein.
Als nächstes starten Sie Apache mit
$ sudo apachectl neu starten
3) Erstellen Sie den Ordner "/ Users / USERNAME / Sites / mactuts" (ersetzen Sie natürlich USERNAME durch den Namen Ihres OSX-Benutzers) und fügen Sie eine index.php-Datei mit folgendem Inhalt ein:
Gehen Sie zu http: //mactuts.tutorial. Du solltest "Hallo Welt" sehen!
Vor kurzem ist eine Alternative zu diesem Ansatz aufgetaucht - die Installation von PHP über Homebrew. Das Problem ist, dass es zum Zeitpunkt dieser Veröffentlichung (Anfang August 2012) keine offiziellen Kanäle gibt, daher muss für Homebrew ein alternativer Tap aktiviert werden.
Die OS X-Version, auf der ich dies getestet habe, Mountain Lion, konnte leider nicht so installiert werden und warf mir vage Fehler zu, die ich nicht lösen konnte. Wenn Sie abenteuerlustig sind, überprüfen Sie diesen Beitrag und versuchen Sie, ihn an Ihr eigenes Betriebssystem und die gewünschte PHP-Version anzupassen.
Eine stabilere Alternative scheint hier verfügbar zu sein, aber das Feedback ist lasch und es gibt nicht viel zu tun, also lasse ich diese Methoden den Experimenten der Leser überlassen.
Hier sind ein paar 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 die Einstellung von Macports zu Gunsten von Homebrew ermutige, scheint es, als hätte Macports eine stabilisierte Version von PHP hinzugefügt, sodass es eine weitere funktionierende Alternative darstellt. Ich habe diesen Ansatz nicht persönlich getestet, aber für Macports-Experten gibt es hier weitere Informationen. Danke an Redditor nemeth88 für das Heads-Up!
OS X wird mit einer vorinstallierten PHP- und Apache-Konfiguration geliefert. Leider ist die PHP-Version, mit der es geliefert wird, stark veraltet und wird nur dann aktualisiert, wenn eine neue Betriebssystemversion installiert wird. Bis dahin ist die neue PHP-Version bereits veraltet. Neben dem Abrufen eines * AMP (Apache / Mysql / Php) -Pakets (das selten, wenn überhaupt, immer aktuelle PHP-Versionen hat), kann man dies tun außer manuell aktualisieren?
In diesem Tutorial haben wir uns mit den Grundlagen des Bauens vom Quellcode aus befasst. Wir haben eine neue, aktuelle Version von PHP erstellt, installiert und sogar Homebrew installiert, was die weitere Installation von Software und Bibliotheken sehr einfach macht . Wir haben uns auch mit der Erstellung eines virtuellen Hosts befasst und unsere Installation getestet, um sicherzustellen, dass sie funktioniert. Ich hoffe, es hat Ihnen gefallen und alles hat wie geplant funktioniert. Wenn Sie auf Probleme stoßen, können Sie gerne in den Kommentaren posten und wir werden die Probleme gemeinsam durcharbeiten.