PHP auf dem Mac aktualisieren

Nachdem ich heute etwas Zeit damit verbracht habe die native PHP-Installation auf meinem Mac mal auf Vordermann zu bringen, möchte ich hier meine Erfahrungen niederschreiben.

Bisher nutzte ich ein Komplett-Paket wie MAMP oder XAMPP, da diese jedoch nicht immer die aktuellsten PHP-Versionen besitzen und außerdem nicht alle benötigten Extensions mitbringen, habe ich mich entschlossen, die Mac-eigene PHP-Installation zu nutzen (vor allem weil ich die Extension „MSSQL“ benötige um auf Microsoft SQL-Server zugreifen zu können).

Apache Webserver

Der Apache Webserver auf dem Mac ist relativ aktuell und bedarf meiner Meinung nach keine Aktualisierung.
Die Installation befindet sich unter /usr/apache2.
Der Webserver kann gestartet werden mittels „sudo apachectl start“.
Die Konfigurationsdatei „httpd.conf“ befindet sich unter „/private/etc/apache2“.

Benötigte Extensions installieren

Bevor PHP installiert werden kann müssen noch 2 Erweiterungen installiert werden. Dies geschieht am besten mittels „HomeBrew“ welches Ihr unter http://brew.sh herunterladen könnt.
Wenn HomeBrew installiert ist öffnet das Terminal und gebt dort ein:
brew install libjpeg
brew install pcre

Intermezzo: FreeTDS für MSSQL-Support installieren

Führt diesen Schritt aus wenn Ihr ebenfalls MSSQL-Connect unter PHP nutzen möchtet.

  • Erstellt einen Ordner „/usr/local/freetds“, dort wird später das FreeTDS hinein installiert
  • Zuerst müsst Ihr FreeTDS herunterladen und in einem beliebigen Ordner entpacken. Ich empfehle z.B. in Eurem Dokumenten-Ordner ein Ordner „packages/freetds“ anzulegen.
  • Öffnet ein Terminal Fenster
  • Wechselt in den Ordner mit entpackten freetds, z.B. mit „cd /Users/sven/Documents/packages/freetds“
  • Gebt folgenden Befehl ein:./configure --prefix=/usr/local/freetds --sysconfdir=/usr/local/freetds/conf/freetds --disable-libiconv --disable-odbc
  • Gebt den Befehl „make“ ein und drückt ENTER
  • Gebt den befehl „sudo make install“ ein und drückt ENTER, danach noch Euer Passwort

Nun ist FreeTDS installiert welches für die MSSQL-Extension benötigt wird.

PHP herunterladen und installieren

So, genug Vorbereitungen. Unter php.net gibt es die neuste PHP-Version 5.4, diese ebenfalls herunterladen und am besten in einen Ordner unterhalb „Dokumente/packages“ entpacken.
Öffnet ein Terminal (falls dies nicht bereits offen ist) und wechselt in diesen Ordner mit dem Source-Code von PHP. Gebt nun folgendes Kommando ein (alles in einer Zeile):


./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-pcre-regex --with-pgsql=/usr
--with-pdo-pgsql=/usr --with-freetype-dir=/usr/X11 --with-jpeg-dir=/usr
--with-png-dir=/usr/X11 --with-mssql=/usr/local/freetds

Diese Zeile bereitet das compilieren von PHP vor. Nun könnt Ihr durch „make test“ prüfen ob alles OK ist und durch ein „sudo make install“ das PHP compilieren.

Anmerkung: Wenn man ein „frisch“ installiertes OS X Mavericks hat, so könnten noch folgende Extensions fehlen, welche jedoch einfach per brew installiert werden können:
LIBPNG: brew install libpng
PostgreSQL: brew install postgresql

Document Root vom Apache anpassen

PHP ist nun auf der aktuellen Version, der Webserver sollte auch laufen. Falls Ihr in Eurem Browser „http://localhost“ aufruft und einen Fehler bekommt so kann dies dadurch kommen weil die Web-Freigabe noch nicht aktiviert ist. Öffnet die „Systemeinstellungen“-App und klickt dort auf „Freigabe“ – hier muss die „Web-Freigabe“ auf jeden Fall aktiviert sein.

Wenn dies der Fall ist könnt Ihr unter /private/etc/apache2/ die httpd.conf bearbeiten und das „DocumentRoot“ auf einen beliebigen Ordner setzen. Der Standard dort ist /Library/Webserver/Documents. Vergesst nicht etwas weiter unten den „Directory“-Eintrag ebenfalls zu ändern und dort Euren neuen DocumentRoot-Ordner einzutragen. Nachdem Ihr die Datei geändert habt vergesst den Webserver nicht neuzustarten – mittels „sudo apachectl restart“.

Ich hoffe dies hilft Euch etwas dabei Eure lokale PHP-Version zu aktualisieren.

Über Fasty

iOS- und PHP-Entwickler My Google Profile+
Dieser Beitrag wurde unter PHP abgelegt und mit , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.