<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Mister Nerd&#039;s Blog</title>
	<atom:link href="http://www.misternerd.de/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.misternerd.de/blog</link>
	<description>...nerdy by nature!</description>
	<lastBuildDate>Thu, 03 Feb 2011 11:17:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Fehlerhafte Keymap in FreeNX-Session beheben</title>
		<link>http://www.misternerd.de/blog/fehlerhafte-keymap-in-freenx-session-beheben/</link>
		<comments>http://www.misternerd.de/blog/fehlerhafte-keymap-in-freenx-session-beheben/#comments</comments>
		<pubDate>Sat, 30 Oct 2010 17:33:18 +0000</pubDate>
		<dc:creator>Mr. Nerd</dc:creator>
				<category><![CDATA[Linux @de]]></category>

		<guid isPermaLink="false">http://www.misternerd.net/blog/?p=285</guid>
		<description><![CDATA[Eine falsche Keymap innerhalb einer NX-Session führt dazu, dass man keine Sonderzeichen eingeben kann. Abhilfe schafft dieser Eintrag]]></description>
			<content:encoded><![CDATA[<p>Nach dem Aufsetzen eines FreeNX-Servers stand ich vor dem Problem, dass im Client viele Tasten zu falschen Resultaten führten &#8211; insbesondere wurde die Taste <em>AltGr</em> als <em>Enter</em> interpretiert &#8211; keine Chance auf Sonderzeichen.</p>
<p>Der Fehler lässt sich dadurch beheben, dass man zunächst die Keymap des Client-Systems exportiert und diese anschließend (automatisiert) in der NX-Session lädt und die falschen Zuordnungen überschreibt.</p>
<p>Der erste Schritt besteht im Speichern der Keymap des Clients. Dazu führt man in einem XTerm den folgenden Befehl aus:</p>
<pre>xmodmap -pke &gt; nxclient.xmodmap</pre>
<p>Dieser speichert die Keymap des Clients in der Datei <em>nxclient.xmodmap</em>; diese Datei muss man nun auf den NX-Server transferieren und sie bspw. in das Home-Verzeichnis des Benutzers legt. In einer geöffneten NX-Session kann man anschließend mit dem folgenden Befehl die falsche Keymap ersetzen:</p>
<pre>xmodmap ~/nxclient.xmodmap</pre>
<p>Natürlich lässt sich dies auch (eingeschränkt) automatisieren. Die Variable<em> $NXSESSIONID</em> wird bei einer Remote-Verbindung durch NX gesetzt. Überprüft man in seiner<em> .profile</em>, ob sie gesetzt ist, kann man die Keymap automatisch ersetzen:</p>
<pre>if [ -n "$NXSESSIONID" ]; then
 /usr/bin/xmodmap ~/nxclient.xmodmap
fi</pre>
<p>Dies funktioniert natürlich nur, wenn alle verbindenden Clients die gleiche Keymap nutzen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.misternerd.de/blog/fehlerhafte-keymap-in-freenx-session-beheben/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fehler in Eclipse beheben: RenderBadPicture Bug</title>
		<link>http://www.misternerd.de/blog/fehler-in-eclipse-beheben-renderbadpicture-bug/</link>
		<comments>http://www.misternerd.de/blog/fehler-in-eclipse-beheben-renderbadpicture-bug/#comments</comments>
		<pubDate>Thu, 23 Sep 2010 20:08:36 +0000</pubDate>
		<dc:creator>Mr. Nerd</dc:creator>
				<category><![CDATA[Keine Kategorie]]></category>

		<guid isPermaLink="false">http://www.misternerd.net/blog/?p=276</guid>
		<description><![CDATA[Ein im aktuellen Eclipse auftretender XWindowError (RenderBadPicture) lässt sich durch das manuelle Setzen des Pfades zum XULRunner beheben]]></description>
			<content:encoded><![CDATA[<p>Bei der aktuellen Version von Eclipse ist es auf meinem System urplötzlich dazu gekommen, dass die IDE nach dem Eintippen weniger Zeilen Programmcode abstürzt. Die einzige Fehlermeldung, die man erhält, ist eine Auflistung der Argumente, mit denen die abgestürzte JVM gestartet wurde.<br />
Erst ein Blick auf die Konsole brachte mehr Licht ins Dunkel, den hier wird folgende Fehlermeldung angezeigt:</p>
<pre>The program 'Eclipse' received an X Window System error.
This probably reflects a bug in the program.
The error was 'RenderBadPicture (invalid Picture parameter)'.
(Details: serial 43551 error_code 158 request_code 148 minor_code 7)
...</pre>
<p>Eine Suche nach dem Stichwort <em>RenderBadPicture</em> förderte dann auch relativ schnell <a title="Eclipse Bugtracker" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=308731">diesen Bugreport</a> zutage. Scheinbar lädt Eclipse die falsche XULRunner-Komponente, die ihrerseits für das Rendern von HTML-Code innerhalb der IDE zuständig ist &#8211; in meinem Fall waren es scheinbar die bei Autocompletion auftauchenden Popups.</p>
<p>Die im Bugreport vorgeschlagene Hilfestellung hat zumindest in meinem Fall auf Anhieb funktioniert. Man muss Eclipse einfach direkt den Pfad zum zu verwendenen XULRunner mitteilen. Der Standardweg scheint zumindest im aktuellen openSUSE 11.3 über <em>update-alternatives</em> zu gehen, evtl. liegt hier auch das Problem.</p>
<p>Um Eclipse wieder ans Laufen zu bringen, muss man einfach die folgende Zeile in die <em>eclipse.ini</em> einfügen &#8211; allerdings erst <strong>nach der Zeile<em> -vmargs</em></strong> !</p>
<pre>-Dorg.eclipse.swt.browser.XULRunnerPath=/usr/lib/xulrunner-1.9.2/xulrunner</pre>
<p>Und für ein 64-bit-System sieht es wie folgt aus:</p>
<pre>-Dorg.eclipse.swt.browser.XULRunnerPath=/usr/lib<strong>64</strong>/xulrunner-1.9.2/xulrunner</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.misternerd.de/blog/fehler-in-eclipse-beheben-renderbadpicture-bug/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mittels wget eine dynamische Webseite in eine statische Struktur umwandeln</title>
		<link>http://www.misternerd.de/blog/mittels-wget-eine-dynamische-webseite-in-eine-statische-struktur-umwandeln/</link>
		<comments>http://www.misternerd.de/blog/mittels-wget-eine-dynamische-webseite-in-eine-statische-struktur-umwandeln/#comments</comments>
		<pubDate>Tue, 03 Aug 2010 07:38:30 +0000</pubDate>
		<dc:creator>Mr. Nerd</dc:creator>
				<category><![CDATA[HTML @de]]></category>
		<category><![CDATA[Linux @de]]></category>

		<guid isPermaLink="false">http://www.misternerd.net/blog/?p=263</guid>
		<description><![CDATA[Wie man mit wget eine dynamische Internetseite als statische HTML-Struktur speichert. Dies ist hilfreich, um alte Seiten im Netz verfügbar zu halten, ohne die zugrundliegenden Systeme auf dem aktuellen Sicherheitsstand zu halten]]></description>
			<content:encoded><![CDATA[<p>Oftmals erstellt man eine Webseite unter Nutzung eines dynamischen Systems, beispielsweise eines Content-Management-Systems, eines Wikis oder einer Blogsoftware. Viele dieser Seiten werden einige Zeit lang gepflegt und danach nicht mehr aktiv genutzt. Insbesondere bei dynamischen Systemen müsste man die Seite aus Sicherheitsgründen eigentlich vom Netz nehmen.</p>
<p>Um jedoch die Inhalte der Seite weiterhin verfügbar zu halten bietet es sich an, eine statische Kopie der Seite mittels <em>wget</em> zu erzeugen. Hier erhält man nur noch statische HTML-Dateien und muss sich um Sicherheit keine Sorgen machen.</p>
<p>Der folgende Befehl lädt die Inhalte der Domain <em>example.com</em> herunter und speichert sie im Ordner <em>/tmp/example.com</em>:</p>
<pre>wget -nc -nH -E -r -k -P /home/you/example.com -np http://example.com/
</pre>
<p>Die Links werden entsprechend auf die neue Struktur umgeschrieben. Oftmals ist anschließend noch ein bisschen Handarbeit nötig, da <em>wget</em> in CSS-Anweisungen referenzierte Bilder nicht mitkopiert. Diese müssen somit manuell in das entsprechende Verzeichnis kopiert werden. Weitere Fehlerquellen sind Umlaute und Sonderzeichen in den ursprünglichen URLs (selten).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.misternerd.de/blog/mittels-wget-eine-dynamische-webseite-in-eine-statische-struktur-umwandeln/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mysqldump und die Fehlermeldung &#8220;Unknown command &#8216;\0&#8242;&#8221;</title>
		<link>http://www.misternerd.de/blog/mysqldump-und-die-fehlermeldung-unknown-command-0/</link>
		<comments>http://www.misternerd.de/blog/mysqldump-und-die-fehlermeldung-unknown-command-0/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 13:36:34 +0000</pubDate>
		<dc:creator>Mr. Nerd</dc:creator>
				<category><![CDATA[Latex @de]]></category>
		<category><![CDATA[PHP @de]]></category>

		<guid isPermaLink="false">http://www.misternerd.net/blog/?p=256</guid>
		<description><![CDATA[Wenn man beim (Re-)Importieren eines MySQL-Dumps auf die Fehlermeldung "Unknown command '\0'" stößt, muss man bereits beim Exportieren die Option --hex-blob nutzen]]></description>
			<content:encoded><![CDATA[<p>Sofern man versucht, einen von <em>mysqldump</em> erzeugten Datenbankdump in einen (anderen) MySQL-Server zu importieren, kann man unter Umständen auf folgende Fehlermeldung stoßen:</p>
<pre>Unknown command '\0'</pre>
<p>Die wahrscheinlichste Ursache sind Datenfelder vom Typ BLOB, welche <em>mysqldump</em> beim Speichern im Textformat nicht richtig kodiert hat.</p>
<p>Der einfachste Weg zur Umgehung dieses Problems besteht darin, bereits beim Exportieren der Datenbank die Option <em>&#8211;hex-blob</em> zu setzen:</p>
<pre>mysqldump -ubenutzername -p --hex-blob datenbankname &gt; datenbankname.sql</pre>
<p>Damit erzeugt <em>mysqldump</em> für jeden BLOB eine hexadezimale Repräsentation, wie es beispielsweise auch bei phpMyAdmin seit geraumer Zeit Standard ist.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.misternerd.de/blog/mysqldump-und-die-fehlermeldung-unknown-command-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Den PHP-Fehler &#8220;Exception thrown without a stack frame in Unknown on line 0&#8243; beheben</title>
		<link>http://www.misternerd.de/blog/den-php-fehler-exception-thrown-without-a-stack-frame-in-unknown-on-line-0-beheben/</link>
		<comments>http://www.misternerd.de/blog/den-php-fehler-exception-thrown-without-a-stack-frame-in-unknown-on-line-0-beheben/#comments</comments>
		<pubDate>Sat, 24 Jul 2010 08:19:16 +0000</pubDate>
		<dc:creator>Mr. Nerd</dc:creator>
				<category><![CDATA[PHP @de]]></category>

		<guid isPermaLink="false">http://www.misternerd.net/blog/?p=246</guid>
		<description><![CDATA[Die PHP-Fehlermeldung "Exception thrown without a stack frame in Unknown on line 0" sorgt bei ihrem Auftauchen häufig für Verwirrung. In diesem Beitrag werden einige Ursachen beschrieben, wie es zu der Fehlermeldung kommt]]></description>
			<content:encoded><![CDATA[<p>Wenn man viel mit (objektorientiertem) PHP arbeitet, stößt ab und an auf die wenig aussagekräftige Fehlermeldung &#8220;<em>Exception thrown without a stack frame in Unknown on line 0</em>&#8220;.</p>
<p>Dieser Fehler ist wenig hilfreich, insbesondere bricht die Programmausführung ab und man hat keine Möglichkeit zu erkennen, wo die Ursache der Meldung liegt. Ich habe diese Meldung häufig erhalten und nie versucht zu begreifen, was sie eigentlich bedeutet. Stattdessen habe ich solang am Code gepatcht, bis das Programm wieder lief. Für alle, die ähnliche Probleme haben, findet sich hier eine Übersicht der Ursachen dieser Meldung.</p>
<p>Solange PHP &#8220;normal&#8221; läuft, erzeugt es für jede geworfene Exception einen Stacktrace, bei nicht abgefangenen Exceptions wird dieser Stacktrace im Log ausgegeben. Es gibt jedoch bestimmte Zustände, in denen PHP noch nicht respektive nicht mehr vollständig läuft, in diesen Fällen ist es scheinbar nicht möglich, einen Stacktrace zu erzeugen. Die folgende (nicht vollständige) Liste enthält alle  Ursachen, die mir bisher untergekommen sind:</p>
<ul>
<li><strong>Eine Exception im benutzerdefinierten Exception-Handler werfen</strong>: Wen man in PHP mittels <em>set_exception_handler()</em> eine Funktion registriert, die ihrerseits eine weitere Exception wirft, kann PHP mit dieser nichts anfangen und gibt exakt die oben genannte Fehlermeldung aus.<br />
Somit ist es ratsam, im Exception-Handler sämtlichen Code in einen try-catch-Block zu verfrachten und etwaig auftauchende Exceptions beispielsweise mittels <em>error_log()</em> in den Log zu schreiben.</li>
<li><strong>Im Konstruktor oder Destruktor Exceptions werfen</strong>: Eine Exception im Konstruktor sorgt dafür, dass das Objekt nicht vernünftig erzeugt wird, es wird somit in einem undefinierten Zustand hinterlassen. Im Destruktor hingegen kann es sein, dass das Objekt (oder andere, referenzierte Objekte) bereits nicht mehr existieren. Auch hier ist es ratsam, alle Funktionsaufrufe, die potentiell eine Exception werfen können, mit einem try-catch-Block zu umschliessen.</li>
<li><strong>Exceptions im Autoloader</strong>: Es scheint nur teilweise der Fall zu sein, dass eine im mittels <em>spl_autoload_register()</em> registrierten Autoloader geworfene Exception ebenfalls diese Fehlermeldung erzeugt.</li>
</ul>
<p>Diese Liste ist sicher noch nicht vollständig, sofern mir neue Ursachen unterkommen füge ich sie entsprechend ein.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.misternerd.de/blog/den-php-fehler-exception-thrown-without-a-stack-frame-in-unknown-on-line-0-beheben/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mittels CSS DIV-Elemente mit 100% Höhe erzeugen</title>
		<link>http://www.misternerd.de/blog/mittels-css-div-elemente-mit-100-hohe-erzeugen/</link>
		<comments>http://www.misternerd.de/blog/mittels-css-div-elemente-mit-100-hohe-erzeugen/#comments</comments>
		<pubDate>Fri, 23 Jul 2010 21:43:52 +0000</pubDate>
		<dc:creator>Mr. Nerd</dc:creator>
				<category><![CDATA[CSS @de]]></category>
		<category><![CDATA[HTML @de]]></category>

		<guid isPermaLink="false">http://www.misternerd.net/blog/?p=243</guid>
		<description><![CDATA[Um ein DIV-Element zu erzeugen, welches die gesamte Seitenhöhe ausfüllt, müssen zusätzlich alle Elternknoten mit der CSS-Anweisung height:100%; versehen werden]]></description>
			<content:encoded><![CDATA[<p>Um in HTML ein DIV-Element zu erzeugen, welches tatsächlich die gesamte Höhe des Fensters ausfüllt, reicht es nicht, diesem per CSS die Höhe 100% zuzuweisen.</p>
<p>Zusätzlich müssen nämlich noch sämtliche Elternknoten die Höhe 100% annehmen, dazu gehören insbesondere die Element HTML und Body.</p>
<p>Der folgende CSS-Code zeigt, wie es richtig geht:</p>
<pre>html{
  height: 100%;
}

body{
  height: 100%;
}

div#fullHeight{
  height: 100%;
}
</pre>
<p>Natürlich muss das DIV-Element in diesem Fall direkt unterhalb des BODY-Elements eingefügt werden, andernfalls ist auch für alle zwischenliegenden Knoten die Höhenangabe obligatorisch.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.misternerd.de/blog/mittels-css-div-elemente-mit-100-hohe-erzeugen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ein Subversion-Repositories mittels svnsync spiegeln</title>
		<link>http://www.misternerd.de/blog/ein-subversion-repositories-mittels-svnsync-spiegeln/</link>
		<comments>http://www.misternerd.de/blog/ein-subversion-repositories-mittels-svnsync-spiegeln/#comments</comments>
		<pubDate>Thu, 22 Jul 2010 19:07:07 +0000</pubDate>
		<dc:creator>Mr. Nerd</dc:creator>
				<category><![CDATA[Linux @de]]></category>

		<guid isPermaLink="false">http://www.misternerd.net/blog/?p=211</guid>
		<description><![CDATA[Das Spiegeln eines (entfernten) SVN-Repositories eignet sich etwa für den Einsatz von Trac (welches ein lokalen Zugriff auf ein SVN-Repository erfordert) oder das Erzeugen von Backups. Mittels svnsync ist das kontinuierliche Spiegeln kein Problem]]></description>
			<content:encoded><![CDATA[<p>Für einige Einsatzzwecke ist es erforderlich, ein komplettes Subversion-Repository zu spiegeln. Ein gutes Beispiel hierfür ist Trac, welches zumindest nach meinem Kenntnisstand derzeit nur auf lokale Repositories zugreifen kann.</p>
<p>Anstatt nun den gesamten Verzeichnisinhalt etwa per rsync synchon zu halten bietet es sich an, direkt auf Ebene des Subversion-Protokolls zu spiegeln. Dazu dient das Programm <em>svnsync</em>, welches in den Subversion-Pakete der meisten Distributionen enthalten sein sollte.</p>
<p>Im Folgenden wird davon ausgegangen, dass das entfernte Repository unter der Adresse <em>http://example.com/svn</em> verfügbar ist und ein Zugriff mit dem Benutzernamen <em>svnsync</em> möglich ist. Das Zielrepository soll in diesem Fall l0kal unter dem Pfad <em>/srv/svnMirror</em> vorliegen. Da Subversion die Protokolle transparent handhabt sollten auch beliebige Kombinationen mit http(s), ssh und file möglich sein.</p>
<p>Zunächst muss das lokale Repository mit leerem Inhalt angelegt werden:</p>
<pre>svnadmin create /srv/svnMirror</pre>
<p>Anschließend hat man die Wahl: Sofern aus das gespiegelte Repository keine weiteren Benutzer als der svnsync-Benutzer zugreifen, kann man gefahrlos die folgenden beiden Kommandos ausführen:</p>
<pre>echo "#!/bin/bash" &gt; /srv/svnMirror/hooks/pre-revprop-change
chmod u+x /srv/svnMirror/hooks/pre-revprop-change</pre>
<p>Allerdings haben in diesem Fall alle Benutzer einen Vollzugriff auf das Verzeichnis, können insbesondere auch Revisionen löschen. Sofern also weitere Benutzer Zugriff auf die Kopie erhalten soll, empfiehlt es sich, die folgenden Zeilen in die Datei <em>/srv/svnMirror/hooks/pre-revprop-change</em> einzutragen und diese anschließend ausführbar zu machen:</p>
<pre>#!/bin/sh
USER="$3"
if [ "$USER" = "svnsync" ]; then exit 0; fi
echo "Only the svnsync user can change revprops" &gt;&amp;2
exit 1
</pre>
<p>Mit dieser Kombination erhält nur der Benutzer <em>svnsync</em> den Vollzugriff.</p>
<p>Wie auch immer man sich entschieden hat, anschließend erfolgt eine initiale Synchronisation, hier muss man unter anderem das Passwort für den Zugriff eingeben:</p>
<pre>svnsync init --username=svnsync /srv/svnMirror
</pre>
<p>Anschließend stößt man den Synchronisationsvorgang mit folgendem Befehl an:</p>
<pre>svnsync /srv/svnMirror</pre>
<p>Die erste Synchronisation kann, je nach Alter und Größe des entfernten Repositories, einige Zeit in Anspruch nehmen, da jede einzelne Revision sukzessive kopiert werden.</p>
<p>Auch für jede weitere Kopiervorgang benutzt man nun das obige Kommando, es empfiehlt sich in den meisten Fällen, dies in einen Cronjob einzutragen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.misternerd.de/blog/ein-subversion-repositories-mittels-svnsync-spiegeln/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Den Fehler &#8220;no database selected&#8221; im Typo3 Installtool beheben</title>
		<link>http://www.misternerd.de/blog/den-fehler-no-database-selected-im-typo3-installtool-beheben/</link>
		<comments>http://www.misternerd.de/blog/den-fehler-no-database-selected-im-typo3-installtool-beheben/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 21:14:55 +0000</pubDate>
		<dc:creator>Mr. Nerd</dc:creator>
				<category><![CDATA[HTML @de]]></category>
		<category><![CDATA[PHP @de]]></category>
		<category><![CDATA[Typo3 @de]]></category>

		<guid isPermaLink="false">http://www.misternerd.net/blog/?p=203</guid>
		<description><![CDATA[Der Fehler "no database selected" im Typo3 Installtool der Version 4.3.3 verhindert unter Umständen die Installation. Dieser Post enthält Informationen zu einem Workaround]]></description>
			<content:encoded><![CDATA[<p>Die Typo3 version 4.3.3 scheint einen Fehler im Installtool aufzuweisen. Bei der Erstinstallation im 1-2-3-Mode werden auf der ersten Seite zunächst die Datenbankparameter abgefragt. Nach einem Klick auf <em>Submit</em> wird man auf eine Fehlerseite weitergeleitet, die nur folgende Meldung enthält:</p>
<pre>no database selected</pre>
<p>Außerdem werden in der <em>localconf.php</em> keinerlei Datenbankparameter hinterlegt und es gibt keine Möglichkeit, mit der Installation fortzufahren.</p>
<p>Ein einfacher Workaround hierzu ist es, die Datenbankparameter direkt in der Konfigurationsdatei einzufügen. Dazu öffnet man einfach die Datei <em>typo3conf/localconf.php</em> mit einem Texteditor und passt die folgenden Zeilen an die eigenen Gegebenheiten an:</p>
<pre>$typo_db_username = 'user';
$typo_db_password = 'password';
$typo_db_host = 'localhost';
$typo_db = 'dbname';
</pre>
<p>Anschließend kann man die Fehlerseite im Installtool neu laden und die Installation mit dem Importieren des Datenbankdumps fortfahren.</p>
<p>Tipp: Falls man das Installtool schon weggeklickt hat oder nicht mehr im 1-2-3-Mode ist nutzt man den folgenden Link:</p>
<pre>http://serveradresse/typo3/install/index.php?mode=123&amp;step=2
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.misternerd.de/blog/den-fehler-no-database-selected-im-typo3-installtool-beheben/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Backticks in MySQL</title>
		<link>http://www.misternerd.de/blog/backticks-in-mysql-2/</link>
		<comments>http://www.misternerd.de/blog/backticks-in-mysql-2/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 21:06:08 +0000</pubDate>
		<dc:creator>Mr. Nerd</dc:creator>
				<category><![CDATA[Linux @de]]></category>
		<category><![CDATA[PHP @de]]></category>

		<guid isPermaLink="false">http://www.misternerd.net/blog/?p=199</guid>
		<description><![CDATA[Wofür werden eigentlich die Backticks (`) in MySQL-Statements benötigt, wie sie beispielsweise phpMyAdmin standardmäßig einbaut]]></description>
			<content:encoded><![CDATA[<p>Ich habe mich immer gefragt, warum bestimmte Programme wie phpMyAdmin in von ihnen generierten SQL-Queries immer Backticks verwenden, während andere System diese nie nutzen.</p>
<p>Der Grund dafür ist eigentlich sehr simpel und soll in einem kurzen Beispiel erläutert werden. Angenommen, innerhalb einer Datenbank soll folgende Tabelle erzeugt werden:</p>
<pre>Table-1</pre>
<p>Das ist in MySQL ein durchaus gültiger Tabellenname. Um nun den Inhalt dieser Tabelle aufzulisten würde man beispielsweise den folgenden Query nutzen:</p>
<pre>SELECT * FROM Table-1;</pre>
<p>Weit gefehlt, anstatt den Inhalt der Tabelle zu Gesicht zu bekommen erhält man eine Fehlermeldung wie &#8220;<em>You have an error in your SQL syntax&#8221;. </em>Wenn man sich den Query genauer ansieht wird man feststellen, dass dieser nicht eindeutig ist. Der Parser kann also nicht mit Sicherheit sagen, ob man die Tabelle <em>Table-1</em> referenzieren möchte oder von einem Feld mit dem Namen <em>Table</em> die Eins subtrahieren möchte.</p>
<p>Um dem Parser genau zu erläutern, was gemeint ist, nutzt man einfach die Backticks, die den von ihnen eingeschlossenen Inhalt als Feld-, Tabellen- oder Datenbanknamen ausweisen:</p>
<pre>SELECT * FROM `Table-1`;</pre>
<p>Natürlich gilt gleiches auch für andere Feld- oder Datenbanknamen. Ein weiteres (beliebtes) Beispiel ist eine Tabelle, die ein Feld <em>max</em> oder <em>min</em> enthält. Hier ist sich MySQL nicht darüber im Klaren, ob die Funktionen <em>MAX() </em>respektive <em>MIN()</em> oder das entsprechende Feld gemeint ist.</p>
<p>Ein Hinweis für tippfaule Leute: Es ist durchaus möglich, die Backticks nur bei benötigten Teilen des Queries zu nutzen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.misternerd.de/blog/backticks-in-mysql-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Typo3: Falsches Auslesen der PHP-Einstellung für safe_mode</title>
		<link>http://www.misternerd.de/blog/typo3-falsches-auslesen-der-php-einstellung-fur-safe_mode/</link>
		<comments>http://www.misternerd.de/blog/typo3-falsches-auslesen-der-php-einstellung-fur-safe_mode/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 14:24:04 +0000</pubDate>
		<dc:creator>Mr. Nerd</dc:creator>
				<category><![CDATA[Typo3 @de]]></category>

		<guid isPermaLink="false">http://www.misternerd.net/blog/?p=195</guid>
		<description><![CDATA[Ein Fehler in Typo3 sorgt für ein fälschliches Erkennen eines aktiven Safe Mode, obwohl dies nicht der Fall ist]]></description>
			<content:encoded><![CDATA[<p>Die derzeit aktuelle Typo3-Version 4.4.0 enthält einen Bug, durch welche Typo unter Umständen suggeriert, PHP würde im Safe Mode laufen obwohl es dies gar nicht tut.</p>
<p>Das Problem liegt im Abfragen der PHP-Einstellung, die in etwa wie folgt aussieht:</p>
<pre>if(ini_get('safe_mode')){
  //Safe Mode ist aktiviert
}
</pre>
<p>Solange in der PHP- und Apache-Konfiguration eine <em>0</em> oder eine <em>1</em> für deaktivierten respektive aktivierten Safe Mode stehen, bereitet diese Abfragetechnik kein Problem. Allerdings ist es auch erlaubt, die Wörter &#8220;<em>off</em> &#8221; oder &#8220;<em>on</em>&#8221; zu nutzen. Eine Einstellung wie diese</p>
<pre>safe_mode=off</pre>
<p>führt jedoch unweigerlich dazu, dass Typo3 fälschlicherweise einen aktiven Safe Mode erkennt, obwohl dieser deaktiviert ist.</p>
<p>Das Problem ist bereits in einem <a title="Typo3 bug report" href="http://bugs.typo3.org/view.php?id=4272">Bugreport</a> vorhanden und sollte mit einer der nächsten Versionen gefixt werden.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.misternerd.de/blog/typo3-falsches-auslesen-der-php-einstellung-fur-safe_mode/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

