Fehler „Invalid query name 1“ in der Log-Datei von PHP-FPM unter Nginx und Apache

Seit ein paar Tagen fahre ich PHP 5.3 mittels FPM in der Kombination mit Nginx auf Debian Lenny und habe einige (großteils sehr positive) Erfahrungen damit gesammelt. Natürlich versucht man alle Fehler, die während der ersten Phase entstehen, so gut wie möglich auszumerzen, wozu auch der folgende gehört.
In der Log-Datei von PHP-FPM hatten einige Einträge gesammelt, die wie folgt lauteten:

[WARNING] [pool mypool1] child 23791 said into stderr: "Invalid query name 1"

Diese Fehler kamen von mehreren Pools, weshalb mir der Fehler nicht direkt auf nur eine Applikation zurückzuführen war. Auch ein kurzer Wechsel auf Apache half nicht. Ein wenig Suchen ergab, dass wohl der Befehl „host“ die fehlerhafte Ausgabe erzeugte und durch eine neue Version von bind9 ersetzt werden musste:

apt-get install bind9-host

Das ist das neue Host-Kommando aus der 9.X-Reihe von bind, seitdem ist der Fehler weg 🙂

DNS-Server auf der Basis von PHP

Alle Links in diesem beitrag sind leider tot und daher entfernt.

Vor einigen Tagen hatte ich einen Artikel von einem, meines Erachtens gleichzeitig verrückten und genialen Programmierer gelesen, der einen kompletten DNS-Server in PHP implementiert hat.
Mittlerweile hat der Developer zu seinem DNS-Server auch einen Benchmark veröffentlicht, der dem PHP-DNS-Server eine Performance von etwa 25% des Bind9-Servers bescheinigt. Ziemlich beeindruckend, wie ich finde, denn momentan setzt der DNS-Server auf SQLite und lässt den Aspekt des Cachings komplett aus. Der Programmierer will übrigens dran weiter machen und beispielsweise DNSSEC implementieren. Ob er alle 114 RFC’s rund DNS machen wird, halte ich für fraglich, aber ein lustiger Ansatz ist es so oder so.

Dieser DNS-Server wird Teil einer ganzen Suite von solchen Ideen, welche unter dem namen pinetd veröffentlicht ist. Bisher wurden bereits ein FTP und ein SMTP/POP3/IMAP4-Server darin implementiert. Bekommen kann man das ganze momentan nur über das SVN.

Wie man das ganze für sich aufsetzt, beschreibt der Autor hier. In diesem Tutorial wird PHP5.3 heruntergeladen, kompiliert und pinetd in einer chroot-umgebung gestartet.