it-4

  • Schrift vergrößern
  • Standard-Schriftgröße
  • Schriftgröße verkleinern
Home Joomla XDebug mit Mac

XDebug & PHPUnit auf Mac

E-Mail Drucken PDF

Wie installiert man XDebug mit PHPUnit auf einem Mac OS X 10.6

Ich benutzte einen Mac und Snow Leopard 10.6 für Webentwicklungen.
Der Mac bringt PHP 5.3 und einen zeitgemäßen Apache 2.2 mit.
Leider hat man mit dem vorkonfiguriertem Mac keine Möglichkeiten PHP zu testen oder zu debuggen.
Ich möchte zeigen, wie man auf einfachem Wege diese Funktionalität nachrüsten kann.
Durch die Installation von PHPUnit und einer XDebug Bibliothek lässt sich der Mac auch zum Testen und Debuggen von PHP nutzen.

IDE

Als IDE habe ich mich für Netbeans entschieden. Netbeans ist open source bringt inzwischen eine Hilfe für PHP mit. Netbeans läuft trotz Java auf meinem Macbook ausreichend schnell.
Anbei ein Screenshot der Netbeans beim Debugging von Joomla zeigt.

Netbeans debugging Joomla

Ich gehe davon aus, dass PHP und Apache wie in meinem anderen Artikel schon konfiguriert sind und funktionieren.

Installation von PHPUnit und Pear

Zuerst möchten wir PHPUnit installieren. Dazu ist es allerdings notwendig im Vorfeld die neueste Version von PEAR zu installieren.

Installation Pear

Um in das Verzeichnis /usr/local zu wechseln rufen wir in der Kommandozeile folgenden Befehl auf:
 
  $ cd /usr/local
 
Als nächstes können wir Pear installieren:
 
  $ curl "http://pear.php.net/go-pear" | sudo php
 

Geben Sie Ihr Administrator Passwort für den sudo (superuser) - Befehl ein. Danach können Sie unter Bestätigung der Default-Konfigurationsvorschläge Pear installieren.

Aktualisieren des Pfads

Überprüfen Sie, ob in Ihrem Profile der Pfad zu /usr/local/bin gesetzt ist. Dazu öffen Sie die Profildatei mi vi (oder einem Editor Ihrer Wahl)
 
$ vi ~/.profile
 
Der Pfad sollte “/usr/local/bin beinhalten”:
 
export PATH="/usr/local/mysql/bin:/usr/local/bin:$PATH"
 
Der Befehl:
 
$ which pear
 
in der Kommandozeile sollte /usr/local/bin/pear ausgeben.

Aktualisieren des PHP-include Pfades

Öffnen Sie die Datei php.ini im vi
 
$ vi /etc/php.ini
 
In der Sektion:
; Paths and Directories ;
entfernen wir das Semikolon von der Zeile
;include_path = ”/php/includes”
und fügen den Pfad /usr/local/PEAR hinzu.

Danach sollte die Zeile wie folgt aussehen:
 
include_path = ”/usr/local/PEAR:/php/includes”
 
Der Apache ist nun neu zu starten
 
$ sudo apachectl restart
 

Installation von PHPUnit

Als nächstes installieren wir PHPUnit. Dazu rufen wir in der Kommandozeile folgenden Befehl auf:
 
$ sudo pear channel-discover pear.phpunit.de
 
Danach installieren wir PHPUnit
 
$ sudo pear install phpunit/PHPUnit
 

Danach ist PHPUnit in /usr/local/PEAR/PHPUnit/ installiert.
Zur Nutzung von PHPUnit in Ihrem Quellcode müssen sie die Datei referenzieren.

 
require_once 'PHPUnit/Framework.php';
 

Installation von XDebug

XDebug ist ein ein Tool zum Debuggen und der Laufzeitanaylse für PHP.
XDebug erweitert PHP Fehlermeldungen um Informationen wie einen Stacktrace, also eine Auflistung der Variablen der aktiven Funktion samt Wert. Um XDebug nicht kompilieren zu müssen werden wir eine vorkompilierte Version von ActiveState benutzen. Öffnen Sie die folgende URL in Ihrem Webbrowser:

http://aspn.activestate.com/ASPN/Downloads/Komodo/RemoteDebugging

Nach dem Download können sie das Archiv entpacken.
Es zeigt sich die folgende Verzeichnisstruktur:

Xdebug von Activeate

Wir benötigen die xdebug.so Datei aus dem Verzeichnis 5.3.
Gehen Sie in der Kommandozeile in das Verzeichnis wo die Datei liegt. Nun kopieren Sie die Datei in das Zielverzeichnis

 
/usr/lib/php/extensions/no-debug-non-zts-20090626
 
Überprüfen Sie vorher mit
 
$ ls /usr/lib/php/extensions 
 
ob das Verzeichnis existiert.
Ansonsten ist unter /usr/lib/extensions ein Verzeichnis zu lokalisieren, das ähnlich wie no-debug-non-zts-20090626 heißt. Dies ist dann das Zielverzeichnis.
 
$ sudo cp xdebug.so /usr/lib/php/extensions/no-debug-non-zts-20090626
 
Danach müssen wir wieder die Datei /etc/php.ini mit vi editieren und foldende Einträge hinzufügen.
[xdebug]
zend_extension=/usr/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so
Zum Schluss muss der Apache wieder mit
 
$ sudo apachectl restart
 
neu gestartet werden.
Das war’s.
 

Newsflash

Wir sind Mitglied bei Bizspark! Bizspark