Mai 30 2009

Aptana Studio Debugging auf MAMPP statt XDebug

Tag: Mac OSXKonstantin Elstner @ 16:49

Für ein aktuelles Projekt benötigte ich einen lokalen Webserver, auf dem ich die notwendige serverseitige Entwicklung vornehmen konnte.

Als IDE für PHP entschied ich mich hier für das Aptana Studio. Das mit seinem PHP-PlugIn ein recht komfortables Entwickeln ermöglicht.

Als lokalen Testserver auf meinem Mac entschied ich mich für MAMPP. Der Mcc Version von der unter Windows beliebten XAMPP Variante.

Es kostete mich jedoch einige graue Haare Aptana mit MAMPP in Kombination zum laufen zu bringen. Für die Erstellung der Objekte in PHP nutzte ich POG,  einem recht komfortablen Database Abstriction Layer Generator, der schon fertig gemappte Objecte erzeugt inklusive automatisierten Unittesting und Datenbankkreierung.

Nach dem ich mit Hilfe von POG, alle notwednigen Objekte angelegt hatte und zu einem ersten Testing überging strauchelte ich immmer wieder über verschiedenste MySQL Verbindungsprobleme wie:

„Can’t connect to local MySQL server through socket ‚/tmp/mysql.sock‘ (2)“

oder

„Client does not support authentication protocol requested by Server; consider upgrading MySQL client“

Nach einer langen nächtlichen Recherche entdeckte ich, was im Nachhinein vielleicht auch logisch erscheinen mag, dass Aptana den internen XDebug nutzte um die PHP-Dateien auszuführen, und eben dieser XDebug hat auf Mac Probleme mit der Datenbank. Da  MySQL im Falle von Mac den Socket nicht unter ‚/tmp/mysql.sock‘ anlegt sonden im Installationsverzeichnis.

In etlichen Foren und Blogs wird daher dazu geraten einen symbolischen Dateilink vom Socket nach ‚/tmp/mysql.sock‘ anzulegen. Dies fixte bei mir zwar den ersten Error, dafür blieb aber:

„Client does not support authentication protocol requested by Server; consider upgrading MySQL client“

Nach dem ich dann kurz zum Test den Zendserver CE installiert hatte, der einen recht performanten und anprechenden Eindruck hinterlassen hat, jedoch etwas fricklig bei der Konfiguration von MySQL zu sein scheint. Da MySQL zwar mit geliefert wird, jedoch habe ich zur weiterwn Konfiguration die my.cnf nicht gefunden. In einigen Foren wird auch behauptet, das Zendserver CE ohne MySQL daher kommen würde, was ich aber nicht nach vollziehen kann.

Last but not least fand ich dann die entscheidende Einstellung, damit Aptana nicht XDebug nutzt sondern den lokalen Webserver.

Unter ‚Project -> properties‘ in der linken Auswahl den Punkt ‚HTML Preview‘ selektieren. Und dann bei den Einstellungen auf der rechten Seite ‚override workspace settings‘ aktivieren, dann bei ‚use server‘ ‚add new server wählen‘. Im neuen Dialog nun noch ‚Apache‘ auswählen, dann okay und im nun folgenden Dialog folgende Einstellungen setzen:

  • Name … nach belieben
  • Description … freilassen oder wie es gefällt
  • Apache … den Korrekten Pfad zu ‚apachectl‘ eingeben (zB. bei MAMPP: ‚/Applications/xampp/xamppfiles/bin/apachectl‘)
  • Host … localhost
  • Port … wenn nicht anders eingestellt auf Port 80 und anschließend auf Okay

Tadah … nun haben wir Aptana darauf konditioniert das aktuelle gewählte Projekt auf Basis von MAMPP zu debuggen.

Wichtig wäre noch, dass der Projektordner sich unter ‚/Applications/xampp/xamppfiles/htdocs‘ befindet und man sollte noch prüfen, dass die Sampleurl übereinstimmt, sprich am besten auch das Projekt in htdocs unter dem Projektnamen ablegen und ‚Append project name‘ aktivieren.

Ich hoffe die Beschreibung erspart etlich Stunden Suche 😉