Monatsarchive: November 2012

MAMP: Apache startet nicht

Gerade hatte ich das Problem, dass mein Apache unter MAMP nicht länger gestartet wurde. mySQL springt nach einem Klick auf „Start“ sofort auf grün, bei Apache tat sich auch nach Minuten nichts. Fehlermeldungen gab es keine.

Schuld war, dass ich mein htdocs-Verzeichnis auf einer anderen Festplatte liegen hatte, auf der ich gerade meinen Entwicklungsordner etwas aufgeräumt habe. Dabei habe ich auch das leere htdocs-Verzeichnis gelöscht. Das Verzeichnis ist bei mir leer, da ich mit VirtualHosts arbeite (da man unter localhost keine Cookies ablegen kann).

Einfaches Problem – große Wirkung. Jetzt habe ich mir in diesem Verzeichnis eine Datei namens DONOTDELETE angelegt – ich hoffe, dass mich die das nächste Mal erinnert!

FabThemes: Geniale WordPress Themes – kostenlos

Eine geniale Anlaufstelle für WordPress-Themes ist in meinen Augen FabThemes. Dort gibt es wunderschöne Themes – und diese sind zudem noch kostenlos und ohne Schadcode (steht zumindest auf der Seite). Und alles ohne Registrierung oder Werbung!

Einziger Nachteil: Durch die hohe Qualität und den kostenlosen Download ist man mit so einem Theme wahrscheinlich nicht besonders individuell. Für den Anfang aber sicher ein solider und eleganter Start im Netz!

Leider konnte ich keine Lizenzvereinbarungen zu den entsprechenden Downloads finden – ich weiß also nicht in wie fern man diese Themes verändern darf.

mySQL: SUBSTRING_INDEX + GROUP_CONCAT

Vor einiger Zeit hatte ich das Problem, dass ich mit GROUP_CONCAT unter mySQL eine Gruppe zu einem einzelnen String zusammengeführt habe, aber die Gruppe sehr viele Elemente enthielt. Da das Ergebnis in einer Tabelle ausgegeben werden sollte, wurde der Wert entsprechend zu lang. Also wollte ich diesen, anhand eines Delimiters, auf eine gewisse Anzahl beschränken.

Um dies zu erreichen wollte ich allerdings weder PHP verwenden, noch die Datenbank mit komplexen und geschachtelten String-Funktionen belasten. Und auch für dieses Problem gab es tatsächliche eine sehr einfache Lösung: SUBSTRING_INDEX schmeißt ab einem vorgegebenen Trennzeichen an gewünschter Position (in diesem Fall die dritte) alles weg was noch kommt.

Hier noch ein Beispiel: Ich möchte aus einer Tabelle alle Benutzer und die dazugehörigen e-Mailadressen haben (maximal jedoch nur drei Stück). Ein Benutzer kann also mehrfach mit verschiedenen Adressen in der Tabelle Users eingetragen sein. Das ist zwar kein besonders schönes Datenmodell, zeigt jedoch sehr einfach die Verwendung der Funktionen.

.DS_Store unter Mac OS X

Wenn man öfter mit dem Terminal unterwegs ist, oder versteckte Dateien unter Mac OS X anzeigen lässt, ist einem sicher schon einmal ein Verzeichnis namens .DS_Store aufgefallen. Spätestens wenn man ein Verzeichnis von Mac OS X auf Windows kopiert können die Verzeichnisse etwas merkwürdig erscheinen.

Enthalten sind Icon-Positionen und andere Meta-Informationen vom Betriebssystem – vergleichen kann man die Dateien mit den Thumbs.db-Dateien unter Windows. Wenn man das Verzeichnis löscht wird es automatisch neu erstellt sobald man mit dem Finder etwas im Verzeichnis ändert.

Limit Login Attempts: Ein sinnvolles WordPress-Plugin

Ich habe das PlugIn „Limit Login Attempts“ vor ca. einem halben Jahr installiert. Heute habe ich zufällig die Statistik des Plugins entdeckt und war etwas baff: 21 Sperrungen sind bereits erfolgt (eine Sperrung = 3 fehlgeschlagene Logins). Das finde ich ganz schön heftig für meinen kleinen Blog.

Was muss dann erst bei größeren Seiten los sein? Ich finde: Diese Erweiterung gehört in den Standard von WordPress und sollte daher in keiner Installation fehlen – scheinbar gibt es genug Bots die versuchen per Bruteforce die Seiten zu öffnen. Und das wahrscheinlich auch noch mit relativ hohem Erfolg – ansonsten würde sich der Aufwand ja schließlich nicht lohnen.

Etwas beruhigend finde ich allerdings, dass bisher nur der Name „admin“ für die Login-Versuche genutzt wurde. Den sollte man also in keinem Fall verwenden!

Limit login Attempts

phpStorm + MAMP: PHP-Debugging unter Mac OS Mountain Lion

Einleitung

In diesem Artikel möchte auf die Möglichkeiten von PHP-Debugging unter OS X Mountain Lion eingehen. Folgende Komponten habe ich zur Zeit im Einsatz:

  • OS X Mountain Lion (10.8.2)
  • MAMP 2.1.1 (Apache Port: 80)
  • phpStorm 5.0.4
  • Chrome 23

Mit dieser Version von MAMP werden 3 PHP-Versionen ausgeliefert (5.2.17, 5.3.14 und 5.4.4). Standardmäßig wird 5.4.4 genutzt. Da für die Konfiguration vom Debugging die php.ini bearbeitet werden muss, ist es gut zu wissen welche Version man gerade verwendet. Dazu kann einfach die PHP-Funktion phpversion genutzt werden. Außerdem wird xDebug in der Version von MAMP schon mitgeliefert und muss lediglich konfiguriert werden. Klingt alles also sehr einfach.

Konfiguration

Standardmäßig scheint Debugging ausgeschaltet zu sein – das Setzen von Breakpoints in phpStorm bleibt jedenfalls ohne jede Funktion und wird komplett ignoriert.

Wenn man die php.ini öffnet muss man dem Eintrag von xDebug suchen. In meinem Fall war dieser ganz am Ende der Datei. Verwirrend für mich ist aktuell, warum es zwei verschiedene php.ini-Dateien unter MAMP gibt. Ich bearbeite einfach beide. Nach dem Speichern wird der Server einmal gestartet und gestoppt. Weiterlesen…