PHP6 mit XAMPP testen

Wer schon einmal einen Blick auf PHP6 riskieren will, das in nicht allzu ferner Zukunft PHP5 ablösen soll, für den hier eine kurze Anleitung:

Zunächst einmal eine aktuelle Version von XAMPP installieren, falls noch nicht vorhanden.

Im zweiten Schritt einen aktuellen Snapshot von PHP6 von snaps.php.net herunterladen und einfach im XAMPP-Verzeichnis in den Ordner php6 entpacken. Dort außerdem noch eine php.ini einrichten. Dazu einfach die php.ini-recommended umbennenen. Alternativ dazu kann auch eine ältere, eigene php.ini verwendet werden.

Nun muss der Apache noch von der neuen PHP-Version erfahren: Im Verzeichnis xampp/apache/conf/extra/ befindet sich eine Konfiguration mit dem Name httpd-xampp.conf. In dieser Konfigurations-Datei muss nun die Konfiguration für die Nutzung von PHP5 auf PHP6 umgestellt werden:
#PHP 5:
LoadModule php5_module "C:/xampp/apache/bin/php5apache2.dll"
AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php .php .php5 .php4 .php3 .phtml

ersetzen durch:

# PHP 6:
LoadModule php6_module "C:/xampp/php6/php6apache2_2.dll"
PHPIniDir "C:/xampp/php6"
AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php .php .php6 .php5 .php4 .php3 .phtml

Jetzt den Apache neustarten und mit <?php phpinfo(); ?> die erste PHP6-Ausgabe genießen 😉

P.S.: Es handelt sich bei PHP6 um eine frühe Entwicklerversion, die auf keinen Fall produktiv eingesetzt werden sollte!

Freie PHP-Entwicklungsumgebung von Eclipse

Die Eclipse Foundation hat die Version 1.0 der freien PHP-Entwicklungsumgebung PDT (PHP Development Tools) veröffentlicht. Die neue IDE wurde mit dem Ziel entwickelt, Entwickler bei der Erstellung von PHP-basierten Webanwendungen zu unterstützen. Dazu bündelt sie Tools und Frameworks, bietet Funktionen wie Syntax-Highlighting oder einen Code-Assistenten. Interessant ist auch der integrierte PHP-Debugger, mit dem die Fehlersuche in Zukunft schneller funktionieren soll.

Weitere Informationen gibt es im Wiki zu dem Projekt.

Datenbankabstraktion mit ADODB

Mit ADODB ist es möglich, PHP-Anwendungen von der Verwendung einer speziellen Datenbank, wie zum Beispiel MySQL zu abstrahieren, um auch den Einsatz von anderen Datenbanken zu ermöglichen. Dazu wird die gesamte Kommunikation mit der Datenbank über ADODB abgewickelt. ADODB sorgt dann dafür, dass die Abfragen in das für die jeweils ausgewählte Datenbank passende Format gewandelt werden und Abfragen nach den Feldinformationen einer Tabelle überall gleiche Resultate liefern.

Dazu verwendet ADODB an vielen Stellen sogenannte Meta-Funktionen, die wie im Fall von MetaColumns ein Array mit ADODB-Objekten zurückliefert, die jeweils die Eigenschaften eines Feldes der Tabelle beinhalten.  Interessant ist auch die  Methode MetaType, die Datenbank-übergreifende Typ-Informationen für Felder liefert. So kann man auch mit dieser Information arbeiten, um z.B. die Darstellung der Inhalte einzelner Felder zu steuern, obwohl die Feld-Typen bei verschiedenen Datenbanken unterschiedlich genannt werden.

Es lohnt sich auf jeden Fall, einmal einen Blick auf diesen Abstraktions-Layer zu werfen, denn es kann ja nie schaden, Anwendungen zu entwickeln, die nicht auf eine einzige Datenbank festgelegt sind. Zudem wird ADODB auch von bekannten Projekten (Mambo, TikiWiki, phpWiki) verwendet, um die Datenbankabstraktion zu realisieren. Es sollte also für den Einsatz in großen Projekten geeignet sein. Für den Einstieg bietet es sich an, die Dokumentation von ADODB zu konsultieren, die auch ein kurzes deutschsprachiges Tutorial enthält.

Die Installation von ADODB ist übrigens kinderleicht. Für den Anfang reicht es, einfach das ADODB-File zu includen.

include(„adodb.inc.php“);

Sollte man mit der gebotenen Performance nicht zufrieden sein, so kann es sich lohnen, die auch angebotene PHP-Extension zu verwenden, die zum Teil in C geschrieben ist und damit bis zu 75% schneller laufen soll.

Soweit für den Moment, die ersten Schritte mit ADODB sind eigentlich genauso unkritisch wie die Installation, wenn mir dennoch in Zukunft noch größere Probleme auffallen sollten werde ich berichten.

phpBB Spambots

Knapp eine Woche vergangen, seitdem ich die bbAntiSpam-Modification installiert habe. Und ich muss sagen. Es funktioniert! Bisher hat es kein Bot geschafft, sich durch die Kontrollen zu mogeln. Herrlich, wie ruhig es nun im Forum ist. Würde jeder Forenbetreiber dieses Mod installieren, würden einige Bot-Betreiber sicher den Spaß an der Sache verlieren….

Spambots aus phpBB aussperren

Ich habe ja vor einiger Zeit schon einmal über meine persönlichen Erfahrungen mit Spambots in phpBB-Foren berichtet. Damals hatte ich gehofft, mit der Installation von Captchas das Problem in den Griff zu bekommen. Leider ohne Erfolg. Die phpBB-Captchas sind für Spambots offenbar kein Problem. Eine Zeit lang habe ich dann die Spambeiträge händisch gelöscht.

Nachdem nun in den letzten Tagen das Spamaufkommen ständig zugenommen hat, habe ich mich nach einer anderen Lösung umgesehen und bin auf bbAntiSpam gestoßen. Dieses Plugin, das sich in wenigen Minuten installieren lässt, integriert in den Registrierungsprozess eine Frage, die der User beantworten muss. Fragen, die dort erscheinen sollen sowie zugehörige Antworten kann man selbst erstellen. Die 2 von Beginn an eingerichteten Fragen sollte man schnell löschen, da sie offenbar bekannt sind und daher auch von Spambots beantwortet werden können.

Nach der Einrichtung des Plugins bekommt man bei jedem gescheiterten Registrierungsversuch eine Mail mit den Daten des Users, der versucht hat, sich anzumelden. Bisher wurde ich über 5 dieser Versuche informiert. Innerhalb von wenigen Stunden.

Ich bin gespannt, wie lange der Schutz funktioniert…