In diesem Eintrag möchte ich, wie an sich immer, für mich selbst einige Notizen niederschreiben wie man auf dem Mac PHP Anwendungen entwickeln kann. Oder wie ich mir meine Umgebung eingerichtet habe. Da ich mich freue wenn es Anderen auch helfen kann, hole ich ein wenig aus, gehe jedoch nicht im Detail auf die einzelnen Schritte und Anwendungen ein. Diese sind bereits gut von Ihren Urhebern beschrieben.
PHP 5
Als erstes bemerkt man, dass Apples OS X Leopard zwar mit Apache2 und PHP5 ausgeliefert wird, jedoch einige Module, insbesondere von PHP (GD links) fehlen. entropy stellt sein Build von PHP5 bereit, welches ich gerne verwende. Nicht zuletzt auch deswegen, weil ich mir das selber bauen von PHP ersparen möchte, sofern es möglich ist. Eine Alternative stellt MAMP dar, mir persönlich entspricht entropy's PHP Build besser, als ein Allinclusive Package.
Doch auch mit entropy's Build muss man einige Dinge beachten. So zum Beispiel, dass die der Pfad zum PHP Binary und somit der CLI Version auf Apple's Binary zeigt. Diese ist nach dem GD-Patch leider nicht mehr lauffähig, sodass man in Verlockung kommt, an deren Stelle einen Link zu entropy's Binary zu setzten. Dies geht auch solange gut, bis ein neues System-Update kommt und den Zustand wieder rückgängig macht.
UPDATE: Snow Leopard kommt mit PHP 5.3.0, die unten beschriebenen Schritte beziehen sich auf das standardmässig installierte PHP von OS X Snow Leopard.
Der Werktisch
Es ist teilweise geschmackssache ob man eine mächtige IDE bevorzugt oder einen wendigen Editor. Eclipse ist zum Beispiel eine wunderbare IDE welche ich für Java verwende. Mit dem entsprechenden Plugin steht bietet sie auch umfangreiche Möglichkeiten zur PHP Entwicklung, oder C/C++. Die Übersicht über grössere Projekte ist das schlagende Argument für eine so mächtige IDE. Mit Plugins wie dem
viPlugin, welches kostenpflichtig ist, mutiert Eclipse auch zu einem wendigen Editor. Dennoch bevorzuge ich zum rein textuellen Arbeiten am Code den Editor TextMate. Dieser bietet fast schon unbegrenzte Indivdualisierungsmöglichkeiten, Schnittstellen, sowie sehr hilfreiche Text-Editier-Funktionen, mit welchen er sich einen Vorteil gegenüber IDE's verschafft. Unerwähnt darf auch nicht Zend Studio bleiben, welches sicherlich am idealsten an PHP angepasst ist, ich mich aber nicht wirklich anfreunden konnte.
Debugger
Ich habe mich unter den verschiedenen
PHP Debuggern für
xDebug entschieden. Zumindest vorerst

xDebug bietet stack traces, function traces, profiling, code coverage und weiter Funktionen an. Externen Clients bietet xDebug eine Schnittstelle auf XML-Basis an um mit ihm zu kommunizieren, dies funktioniert auch remote.
Um xDebug auf dem Mac zu compilieren und installieren:
$ tar -xzf xdebug-2.0.3.tgz
$ cd xdebug-2.0.5
$ /usr/bin/phpize
$ CFLAGS='-arch x86_64' ./configure --enable-xdebug --with-php-config=/usr/bin/php-config
$ make
$ sudo cp modules/xdebug.so /usr/lib/php/extensions/no-debug-non-zts-20090626/
Jetzt müssen wir PHP noch beibringen, dass es das xdebug modul laden soll. Dazu muss die php.ini angepasst werden. Standardmässig befindet sich diese unter /etc/php.ini und wird am besten am Ende um folgende Anweisungen ergänzt:
[xdebug]
zend_extension="/usr/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so"
xdebug.auto_trace=1
xdebug.remote_autostart=1
xdebug.remote_enable=1
xdebug.remote_host=localhost
xdebug.remote_port=9000
Den Apache neustarten:
$ sudo /usr/sbin/httpd -k restart
Das Gesicht für den Debugger
Für OS X gibt es das hübsche Programm
MacGDBp, welches man mit PHP Debugger xdebug zusammenarbeiten lassen kann.