Wenn die PHP-Session rumspinnt
Gregor Ottmann | April 18, 2008 on 7:20 am | In Know-How, PHP | No CommentsIch war noch nie in der Situation, eine Website bei einem kommerziellen Horster horsten lassen zu müssen, aber für die, denen keine andere Wahl bleibt, könnte ich eventuell einen guten Tipp haben. Der Maxx hat nämlich heute eine Mail rumgeschickt, die den Eindruck macht, so manche schlaflose Nacht vermeiden zu können:
Falls jemand mal das „Vergnügen“ haben sollte, eine Webanwendung auf einem Server eines der ganz großen deutschen Hoster zu betreiben und die PHP-Sessions mit ihm Lotto spielen sollten (das muss man auch erstmal merken), dann erspart Ihr Euch mit folgender Zeile in einer eigenen php.ini evtl. wertvolle Freizeit, erhaltet Eure Nerven und könnt die gewonnene Zeit für ein leckeres Bier nutzen:
session.save_path=/home/strato/www/<first-two-letters-of-domain>/<domain>/htdocs/sessions
Der Fehler ist nie wirklich reproduzierbar und die „aktive“ Session wird anscheinend mit dem ganz großen Würfel bestimmt. Meine Spekulation wäre ja, dass das /tmp Verzeichnis des Servers einfach voll ist (Anzahl Filehandles oder auch Inodes). Was aber doch verwunderlich ist, ist dass das dann keinen Fehler schmeisst, sondern scheinbar toll funktioniert… nur eben mit einer Zufalls-Session.
Uuh, klingt ungroovy, also gar nicht tofte. Vor allem würde ich das für einen dieser Fehler halten, die einen mangels Reproduzierbarkeit ganz locker in klinische Zustände treiben können, und das muss ja nicht sein.
Nackbilder mit PHP erkennen
Gregor Ottmann | Oktober 4, 2006 on 10:25 am | In Know-How, PHP | No CommentsNa, da hat LErler mir ja mal was ganz besonders Feines gemeldet: Eine PHP-Klasse, die berechnet, mit welcher Wahrscheinlichkeit ein Bild Schweinkram enthält. Realisiert wird das über eine Erkennung von Hautfarbtönen, was wahrscheinlich eine relativ hohe Fehlerrate mit sich bringt, aber wenn man gerade sowas braucht, ist es wohl trotzdem besser als gar keine Unterstützung.
Der Phantasie der einzelnen Leser bleibt es jetzt überlassen, zu entscheiden, was wohl der Hauptanwendungsfall für so eine Software ist: Bildzensur beim Softwareupload oder die automatische Benachrichtigung des Admins beim Eingang tatsächlich relevanter Bilder, die man sich kopieren sollte…
Remoting mit PHP und XML-RPC
Gregor Ottmann | September 20, 2006 on 10:42 am | In Know-How, PHP | No CommentsRemoting ist toll - Server sprechen miteinander, ohne, dass man ihnen helfen muss. Dumm ist nur, dass man sich, wenn man aktuellen Trends folgt, performancemäßig durchaus nach der Seife bücken muss. Ich bitte um etwas Applaus für mein Wortspiel, über das ich länger nachgedacht habe, als es eigentlich verdient hätte. Wer nicht applaudiert, erweckt den Eindruck, es nicht verstanden zu haben, also steht gefälligst auf und erzeugt klatschende Geräusche, liebe Freude!
Wir haben also gerade schon festgehalten, dass SOAP manchmal etwas arg dick erscheint, und wenn man PHP benutzt, kommt man sich mit dieser Art von Fettwanst-Kommunikation sowieso etwas komisch vor. Auf der Suche nach schlankeren Alternativen im Internet stößt man schnell auf Kate Moss, sofern man Google mit einer suboptimalen Suchanfrage befüttert, oder aber auf XML-RPC, wenn man seine Frage halbwegs korrekt gestellt hat. Zwischendurch fragt man sich, ob der Autor dieser Zeilen einen Clown gefrühstückt hat und ob er neuerdings von Java auf PHP umgestiegen ist, was in beiden Fällen verneint werden muss. Er ist nur heute guter Dinge und spielt in einem Team mit, das derzeit ein größeres PHP-Projekt realisiert.
Zurück zum Thema, welches “Remoting mit PHP und XML-RPC” lautet. LErler hat ein nettes Tutorial bezüglich der Verwendung von XML-RPC mit PHP gefunden, das ich sofort nach Eingang der Hinweismail für blogwürdig hielt und Euch deshalb nicht vorenthalten will. Im selben Atemzug mit der Empfehlung dieses Artikels möchte ich übrigens hinweisen, dass ich beim Testen des PEAR-Moduls “XML_RPC2” die Hälfte meiner Haare ausgerupft habe und feststellen durfte, dass die verbliebene Hälfte die Farbe gut ausgeglühter Asche angenommen hat - die Verwendung dieser Erweiterung empfehle ich also ausschließlich Entwicklern mit erhöhter Schmerzresistenz und sehr laschen Deadlines.
PRADO: Fast schon Tapestry für PHP
Gregor Ottmann | September 19, 2006 on 9:58 am | In Know-How, PHP, Tools | 3 CommentsMann, bin ich froh, dass das hier kein Videoblog ist. Es wäre kein schöner Anblick, mich hysterisch kichernd zu erleben, mit einem kleinen Speichelfaden… Ich erspare Euch die grausigen Details und erkläre vielleicht lieber, was mich so ruiniert und mein Weltbild in Hinblick auf PHP stark genug angekratzt hat, um mich tatsächlich mal wieder für diese Sprache zu interessieren. Wie immer, wenn ich komisch reagiere, war es natürlich ein Framework, das diese Wirkung hatte. Ich bin einfach zu empfänglich für Software, fürchte ich.
Gerade jetzt bin ich nämlich dabei, mich durch die Dokumentation eines PHP-Entwicklungsframeworks namens “PRADO” zu wühlen, das CNovak hier eingeschleppt hat. Zunächst hat der Java-Snob in mir nur müde gelächelt, aber spätestens zu dem Zeitpunkt, als mir klar wurde, dass ich gerade sowas ähnliches wie Tapestry für PHP vor mir habe, wich die Müdigkeit einer gewissen Begeisterung. Sollte man mit diesem Dingsbums etwa wirkliche Software in PHP entwickeln können? Software, die sich halbwegs warten lässt? Es scheint fast so, und das schockiert mich ein Bisschen.
Ich empfehle jedenfalls jedem, der sich mit größeren PHP-Projekten beschäftigen darf, soll oder muss, mal einen Blick auf das HelloWorld-Beispiel aus der Doku zu werfen - mit dem üblichen wilden Rumgehacke, das man sonst von PHP kennt, hat das nämlich wirklich erstaunlich wenig zu tun. Wenn es jetzt noch eine PHP-Entsprechung zu Servlets gäbe, so dass der ganze Ranz nicht ständig neu initialisiert werden müsste… OK, ich will mal auf dem Teppich bleiben. Ganz so weit sind wir dann halt doch noch nicht.
Benutzerverwaltung mit LiveUser
Gregor Ottmann | September 19, 2006 on 7:35 am | In Know-How, PHP | No CommentsIm Moment qualmen bei uns die Tastaturen (und Köpfe) der Konzeptschreiber, weil wir eine ziemlich dicke Anwendung planen, die ausnahmsweise mal nicht in Java, sondern in PHP gebaut werden soll. Die Zeit ist, wie immer in der IT, mächtig knapp, und so versuchen wir natürlich, fertige Sachen zu verwenden, wo es nur irgendwie geht. Bei der Auswahl passender Tools sind wir auf etwas gestoßen, das ich hier mal erwähnen möchte, weil es mir wirklich gut gefallen hat: Das PEAR-Paket “LiveUser”, mit dem man wirklich ziemlich bequem reichlich komplexe Berechtigungssysteme und Benutzerverwaltungen umsetzen kann. Klar, sowas kann man auch selber bauen, nur muss man dann auch Tests und Doku schreiben - und wer würde schon von sich behaupten, dass er gerne für diese Tasks Überstunden schiebt?
Die Doku für das Teil ist zwar nicht gerade schlecht, aber bekanntlich gibt es immer noch irgendwas, was befriedigender als der Mitgelieferte Kram ist - in diesem Fall beispielsweise die ziemlich gute Einführung in LiveUser, die LErler im lauf der Recherche ausgegraben hat. Da steht alles nochmal schön übersichtlich drin, und Bilder gibt’s auch - als Startpunkt für die Einarbeitung dürfte das also wohl genau das Richtige sein.
Dekorieren und delegieren mit PHP 5
Gregor Ottmann | Juli 7, 2006 on 7:38 am | In Know-How, PHP | No CommentsJava-Entwickler sind sich der Existenz von Design-Patterns wie dem “Decorator” ja schon länger bewusst, schließlich sind sie an objektorientierte Programmierung gewöhnt - oder an sehr große main()-Methoden mit mehr als 10000 Zeilen, falls sie vorher vor allem C verwendet haben. Für die PHP-Gemeinde sind die Konzepte aber noch recht neu, weshalb ich es als meine heilige Mission betrachte, ebenjener Zielgruppe möglichst viel nützliches Theoriewissen zu vermitteln. Wer sich der heiligen Mission widersetzt, muss damit rechnen, heilige Handgranaten entgegenschleudert zu bekommen, und das hält bekanntlich nicht mal ein Karnickel aus.
Von der Suche nach dem Gral möchte ich mal wieder auf PHP zurückkommen, genaugenommen zu jenem Artikel über die Verwendung von Decorators und Delegates in PHP 5, den mir LErler untergejubelt hat. Wenn man viel mit PHP arbeitet und damit mehr als nur Mailformulare baut, sollte man sich diesen ruhig mal ansehen, und anschließend ist dann der Einkauf des Standardwerks zur Patternthematik Pflicht. Tja, Jungs (und Mädels), das habt Ihr jetzt davon, dass Eure Sprache neuerdings alles bietet, was man so braucht - jetzt müsst Ihr es auch benutzen!
Customtags in PHP
Gregor Ottmann | Juni 11, 2006 on 9:29 am | In Know-How, PHP | 1 CommentEines der für mich interessantesten Features in JSP sind die Customtags, die man sich basteln kann - richtig eingesetzt bieten diese kleinen Freunde die Möglichkeit, den HTML-Wizards ein paar gute Werkzeuge anzubieten, ohne dass sie gleich Java lernen müssen. OK, angesichts aktuellerer View-Technologien wie Tapestry wirkt das Konzept vielleicht nicht zu 100% zeitgemäß, aber ich finde es trotzdem irgendwie sexy.
PHP-Entwickler können normalerweise nur neidisch auf die Java-Welt schielen, wenn es um diesesFeature geht, da PHP nunmal etwas anders funktioniert und keine vergleichbaren Spielereien anbietet. Macht nix, schließlich kann man die Customtag-Funktion in PHP relativ einfach nachbauen, wenn man will. Abgesehen davon ist der zugrundeliegende “Trick” auch für ganz andere Sachen gut geeignet, so dass man sich die kurze Anleitung auch dann ruhig mal ansehen sollte, wenn man zwar keine Customtags braucht, dafür aber auch noch nie etwas von “output buffer callbacks” gehört hat.
Entries and comments feeds.
Valid XHTML and CSS. ^Top^
:RSS2-Feed