preload
Jan 29

Viele kennen wahrscheinlich die Server2Go-Umgebung von Timo Haberkern, mit der man eine komplette PHP- (und MySQL-) gestützte Website auf CD oder USB-Stick kopieren kann und dann auf (fast) jedem Windowsrechner einfach ohne Installation starten kann. An dieser Stelle auch nochmals herzlichen Dank an Timo für dieses tolle Projekt!
Einziger Wermutstropfen ist die Unterstützung anderer Browser als dem Internet Explorer. Man kann zwar in der pms_config.ini andere Browser einstellen, die auch automatisch gestartet werden, aber speziell bei der aktuellsten Version wird die Umgebung bei anderen Browsern meist nach 2 oder 3 Klicks geschlossen und der Apache-Server ist dann nicht mehr verfügbar. Ob es sich um einen Absturz handelt, kann man von „außen“ nicht erkennen. Offensichtlich erkennt aber das Server2Go-Modul den laufenden Browser nicht und fährt dann automatisch herunter. Dies kann man durch Ändern der Option KeepRunningAfterBrowserClose umstellen. Setzt man diese Option in der pms_config.ini auf den Wert 1

KeepRunningAfterBrowserClose = 1

ist die gesamte Umgebung auch mit Firefox oder Firefox Portable stabil lauffähig. Speziell beim Einsatz des Firefox Portable, den man dann ebenfalls auf den USB-Stick kopiert, kann man somit eine definierte Umgebung schaffen, die man nach seinen Wünschen einstellen kann.

Jan 21

Der Apache-Webserver kann so konfiguriert werden, dass Seiten standardmäßig mit einem bestimmten Charset ausgeliefert werden. Damit kann dann eine PHP-Seite, die eigentlich im UTF-8-Format gespeichert wurde, auf einmal als ISO-Seite erscheinen und dann natürlich mit fehlerhaften Umlauten, sofern diese nicht als HTML-Entities geschrieben wurden. Um das zu umgehen, kann man mit ini_set zu Beginn seiner Skripte den eigenen, gewünschten Charset angeben. Mit einem

ini_set("default_charset", "UTF-8");

wird die Seite dann auch garantiert als UTF-8-Seite ausgegeben, unabhängig von der Webserver-Konfiguration.
Besonders bei gehosteten Webpaketen bietet sich ein solches Vorgehen an, da man in diesem Fall ja meist keine Kontrolle über die Konfiguration hat.