PHPGangsta - Der praktische PHP Blog

PHP Blog von PHPGangsta


Archive for the ‘Server-Software’ Category

Unbekannte und nützliche MySQL-Funktionen

with 7 comments

Auf der Suche nach einer schnelleren Möglichkeit Daten aus einer MySQL Tabelle auszulesen bin ich auf die MySQL-Funktion GROUP_CONCAT() gestossen. Wenn man beispielsweise eine kommaseparierte Liste aller Usernamen benötigt würde man normalerweise folgendes tun:

$usernames = array();
$result = mysql_query('SELECT Username FROM users ORDER BY UserId');
while ($row = mysql_fetch_assoc($result)) {
    $usernames[] = $row["Username"];
}
echo join(',', $usernames);

Mit GROUP_CONCAT() kann man sich die Schleife sparen und erhält direkt einen kommaseparierten String (der Trenner kann natürlich geändert werden, siehe übernächstes Beispiel):

Weiterlesen »

Written by Michael Kliewe

Mai 3rd, 2012 at 10:03 am

Client-Zertifikate als sicherer Login-Ersatz?

with 19 comments

Wer auf Sicherheit achtet und seinen Webseitenbesuchern etwas Privatsphäre spendieren möchte installiert ein SSL-Zertifikat auf dem eigenen Webserver. Damit ist es Besuchern möglich verschlüsselt mit dem Webserver zu kommunizieren und ein eventuell vorhandener Mithörer im offenen WLAN guckt dumm aus der Wäsche. Spätestens wenn es um Login-Daten oder andere persönliche Informationen geht sollte HTTPS eigentlich mittlerweile Standard sein, aber auch für normale Seiten lohnt es sich, denn bereits eine URL verrät einiges über eine Person, auch wenn die Seite eigentlich nichts geheimes enthält.

Weiterlesen »

Written by Michael Kliewe

Februar 11th, 2012 at 11:13 am

Ausfallsichere, skalierbare und sichere Hosting-Lösung von maxcluster zu gewinnen!

with 6 comments

Mit einer spannenden Aktion möchte ich in den Februar starten. Der Anbieter maxcluster stellt zwei Produkte für eine Laufzeit von 6 Monaten zur Verfügung mit einem Gesamtwert von über 2300€!

Was gibt es genau zu gewinnen?

  1. Application Cluster mit einer Konfiguration von 6 CPUs, 8 GB RAM, 200 GB HDD, 20 GB Netzwerk-Storage und 500 GB Traffic
  2. Failover Cluster mit einer Konfiguration von 2 CPUs, 4 GB RAM, 100 GB HDD , 10 GB Netzwerk-Storage und 500 GB Traffic

Wie kann man einen Cluster gewinnen?

Beschreibe kurz in 2-3 Sätzen hier im Blog als Kommentar welches Projekt auf dem Cluster betrieben werden soll. Den Zuschlag bekommt das Projekt welches am faszinierendsten und interessantesten wirkt. Die Aktion läuft bis nächsten Dienstag Abend 23:59 (07.02.2012). Der Cluster kann gern von Start-Ups, Unternehmen oder privat genutzt werden.

Vier Wochen nach der Vergabe würde ich mich über einen kurzen Erfahrungsbericht hier im Blog freuen, und maxcluster freut sich natürlich auch sehr über Verbesserungensvorschläge und Feedback aller Art.

Die maxcluster GmbH stellt ausfallsichere, skalierbare und sichere virtuelle Cluster zur Verfügung. Die Infrastruktur wurde für Unternehmen mit anspruchsvollen Internetseiten und Anwendungen konzipiert und ist in Frankfurt beheimatet. Bereits ab einer monatlichen Gebühr von 59 Euro steht eine komplette Infrastruktur mit ausfallsicheren Servern, redundanten Storage, externer Firewall, täglichen Backups und Monitoring zur Verfügung, die sofort einsatzbereit ist. Neben vielen anderen Kunden und Projekten wird auch das Paderborner Peer Instruction Projekt unterstützt.

Ich wünsche viel Erfolg bei dem Gewinnspiel! Vielen Dank an maxcluster für die Aktion!

Written by Michael Kliewe

Februar 1st, 2012 at 9:38 am

Letzte Aktion in 2011: Server via IPv6 verfügbar machen

with 11 comments

So, damit es nicht heißt mein Blog wäre in 2011 nicht via IPv6 erreichbar gewesen ist meine letzte Aktion dieses Jahr meinen Webserver via IPv6 erreichbar zu machen. Da mein Hoster nun auch endlich IPv6 für virtuelle Server anbietet war das ziemlich einfach: Man mußte im Kundenbereich die IPv6 Konnektivität aktivieren und 10 Minuten warten. Und schon war der Server via IPv6 erreichbar:

$ ifconfig venet0 | grep inet6
inet6-Adresse: 2a01:238:42b6:2a00:e661:84eb:4a08:ee54/128 Gültigkeitsbereich:Global
inet6-Adresse: ::1/128 Gültigkeitsbereich:Maschine

Dann mußte ich gerade noch den nginx neu kompilieren für die IPv6 Funktionalität (wurde eh mal wieder Zeit, war noch eine alte 0.8.53 Version), sodass ich nun die aktuelle 1.0.11 verwende:

Weiterlesen »

Written by Michael Kliewe

Dezember 31st, 2011 at 12:13 pm

High Performance: Caching (reloaded) mit PHP

with 34 comments

Gastartikel von Oliver Sperke.

Ich bin 35 Jahre alt und seit 10 Jahren selbständiger Webentwickler. Mein Fokus liegt dabei auf der Erstellung, Beratung und Optimierung in den Bereichen High Performance, Usability und Sicherheit in den gängigsten Internetsprachen: PHP, HTML, Javascript und CSS.

Nach langem Arbeiten an einem Projekt fängt der ambitionierte Entwickler an, zu testen, wie sich seine dynamische Internetseite unter Last verhält. Da ja jeder von uns von Millionen Besuchern träumt, will man natürlich auch wissen, wie sich Millionen von Besucher anfühlen und ob unser „kleines Kunstwerk“ davon genau so begeistert wäre wie wir. Dynamische Webseiten sind toll, allerdings hat der gemeine Internetserver ein großes Problem damit. Die Erzeugung ist meist sehr aufwendig. Daten müssen aus Datenbanken geholt werden, Berechnungen wollen berechnet werden und Blogeinträge müssen wie Blogeinträge aussehen.

Seit Jahren hat sich eine simple Technik etabliert, die diese gequälten Webserver entlastet. Jeder fortgeschrittene Entwickler kennt und liebt sie, weil sie so schön einfach und universal einsetzbar ist: *trommelwirbel* Das Caching *tusch*. Da aber Caching an sich ein uralter Hut ist, will ich Euch zeigen, wie Ihr evtl. Eure Performance mit minimalen Änderungen mehr als verdoppeln könnt.

Am Anfang war der Benchmark

Weiterlesen »

Written by Oliver

Dezember 19th, 2011 at 9:46 am