<?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>LocalDev &#187; Bug</title>
	<atom:link href="http://localdev.de/tags/bug/feed/" rel="self" type="application/rss+xml" />
	<link>http://localdev.de</link>
	<description>Web, Desktop &#38; Mobile Development</description>
	<lastBuildDate>Thu, 01 Dec 2011 18:54:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Symfony2: Could not parse object &#8217;303b8a83c87d5c6d749926cf02620465a5dcd0f2&#8242;</title>
		<link>http://localdev.de/2011/08/symfony2-could-not-parse-object-303b8a83c87d5c6d749926cf02620465a5dcd0f2/</link>
		<comments>http://localdev.de/2011/08/symfony2-could-not-parse-object-303b8a83c87d5c6d749926cf02620465a5dcd0f2/#comments</comments>
		<pubDate>Fri, 26 Aug 2011 19:39:29 +0000</pubDate>
		<dc:creator>Fabian Martin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Symfony2]]></category>
		<category><![CDATA[Tipps & Tricks]]></category>
		<category><![CDATA[Bug]]></category>
		<category><![CDATA[Fehler]]></category>
		<category><![CDATA[monolog]]></category>
		<category><![CDATA[Update]]></category>

		<guid isPermaLink="false">http://localdev.de/?p=1644</guid>
		<description><![CDATA[Beim updaten meiner Projekte auf Symfony 2.0.1 ist mir eben die folgende Fehlermeldung ins Auge gestochen: Scheinbar gibt es Probleme beim Aktualisieren von monolog. Alle anderen Abhängigkeiten werden ordentlich aktualisiert. Was kann man tun? Ein kurzer Blick in die Ankündigung bringt auch schon die Lösung. Löscht einfach den Ordner vendor/monolog und führt noch einmal bin/vendors [...]]]></description>
			<content:encoded><![CDATA[<p>Beim updaten meiner Projekte auf Symfony 2.0.1 ist mir eben die folgende Fehlermeldung ins Auge gestochen:</p>
<pre class="brush: plain; title: ; notranslate">Could not parse object '303b8a83c87d5c6d749926cf02620465a5dcd0f2'</pre>
<p>Scheinbar gibt es Probleme beim Aktualisieren von <em>monolog</em>. Alle anderen Abhängigkeiten werden ordentlich aktualisiert.</p>
<p><strong>Was kann man tun?</strong></p>
<p>Ein kurzer Blick in die <a href="http://symfony.com/blog/symfony-2-0-1-released" target="_blank">Ankündigung</a> bringt auch schon die Lösung. Löscht einfach den Ordner <code>vendor/monolog</code> und führt noch einmal <code>bin/vendors install</code> aus. Monolog sollte jetzt ebenfalls aktuell sein.</p>
]]></content:encoded>
			<wfw:commentRss>http://localdev.de/2011/08/symfony2-could-not-parse-object-303b8a83c87d5c6d749926cf02620465a5dcd0f2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Windows/TortoiseGit: Ordner wird verwendet</title>
		<link>http://localdev.de/2011/01/windows-tortoisegit-ordner-wird-verwendet-unlocker/</link>
		<comments>http://localdev.de/2011/01/windows-tortoisegit-ordner-wird-verwendet-unlocker/#comments</comments>
		<pubDate>Mon, 31 Jan 2011 19:35:08 +0000</pubDate>
		<dc:creator>Fabian Martin</dc:creator>
				<category><![CDATA[Git]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Tipps & Tricks]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Bug]]></category>
		<category><![CDATA[Explorer]]></category>
		<category><![CDATA[TortoiseGit]]></category>
		<category><![CDATA[unlocker]]></category>

		<guid isPermaLink="false">http://localdev.de/?p=1427</guid>
		<description><![CDATA[Wir Windows User machen uns das Leben echt einfach. Für alles muss eine GUI her. Konsole? Ihh, nää, kann ich nicht. Ich brauch eine schicke Oberfläche. Das gilt natürlich auch bei der Arbeit mit der Versionsverwaltung. Selbst wenn es sich um Git dreht, das man eigentlich nur auf der Konsole richtig nutzen kann. Nein, auch [...]]]></description>
			<content:encoded><![CDATA[<p>Wir Windows User machen uns das Leben echt einfach. Für alles muss eine GUI her. Konsole? Ihh, nää, kann ich nicht. Ich brauch eine schicke Oberfläche.</p>
<p>Das gilt natürlich auch bei der Arbeit mit der Versionsverwaltung. Selbst wenn es sich um Git dreht, das man eigentlich nur auf der Konsole richtig nutzen kann. Nein, auch da muss eine GUI her, also greift man zu TortoiseGit.</p>
<p>Commit, Push, Pull, Log, alles kein Problem, aber schon mal versucht auf einem System mit TortoiseGit ein Repository/Projektordner zu löschen?</p>

<a href="http://localdev.de/wp-content/gallery/tortoisegit-ordner-wird-verwendet/ordner-wird-verwendet.png" title="" class="thickbox" rel="singlepic28" >
	<img class="ngg-singlepic ngg-center" src="http://localdev.de/wp-content/gallery/cache/28__320x240_ordner-wird-verwendet.png" alt="ordner-wird-verwendet" title="ordner-wird-verwendet" />
</a>

<p>Wie „erfreulich“ diese Meldung doch ist, und dank TortoiseGit sieht man sie sogar regelmäßig. Was macht man jetzt? Wie bekloppt auf „Wiederholen“ klicken, bis es irgendwann klappt?<br />
<span id="more-1427"></span><br />
Das geht besser und zwar mit Unlocker. Unlocker bindet sich in das Kontext Menü eures Explorers ein, und erlaubt euch, Dateien wieder freizugeben.<br />

<a href="http://localdev.de/wp-content/gallery/tortoisegit-ordner-wird-verwendet/ordner-wird-verwendet-2.png" title="" class="thickbox" rel="singlepic26" >
	<img class="ngg-singlepic ngg-center" src="http://localdev.de/wp-content/gallery/cache/26__320x240_ordner-wird-verwendet-2.png" alt="ordner-wird-verwendet-2" title="ordner-wird-verwendet-2" />
</a>
</p>
<p>Ein Klick auf „Unlocker“ öffnet nach einem kurzen Moment (und ggf. einer <a href="http://de.wikipedia.org/wiki/Benutzerkontensteuerung" target="_blank">UAC</a> Meldung) ein Fenster, in dem Ihr eine Auflistung aller in Benutzung befindlichen Dateien inkl. der schuldigen Programme findet.</p>
<p>
<a href="http://localdev.de/wp-content/gallery/tortoisegit-ordner-wird-verwendet/ordner-wird-verwendet-3.png" title="" class="thickbox" rel="singlepic27" >
	<img class="ngg-singlepic ngg-center" src="http://localdev.de/wp-content/gallery/cache/27__320x240_ordner-wird-verwendet-3.png" alt="ordner-wird-verwendet-3" title="ordner-wird-verwendet-3" />
</a>
<br />
Ein abschließender Klick auf „Alle Freigeben“ und das Repository lässt sich löschen.</p>
<p>Das Tool funktioniert natürlich auch, wenn ein anderes Programm Amok läuft und Dateien und Ordner sperrt. Passt bei der Installation auf, das Installationsprogramm versucht ein paar eBay Verknüpfungen auf eurem Desktop abzulegen. Diese könnt Ihr aber während der Installation abwählen.</p>
<p><strong>Links:</strong></p>
<ul>
<li><a href="http://www.chip.de/downloads/Unlocker-32-Bit_18414122.html" target="_blank">Unlocker (32 Bit) bei Chip.de</a></li>
<li><a href="http://www.chip.de/downloads/Unlocker-64-Bit_43678834.html" target="_blank">Unlocker (64 Bit) bei Chip.de</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://localdev.de/2011/01/windows-tortoisegit-ordner-wird-verwendet-unlocker/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>VS 2010: Pakete werden nicht ordnungsgemäß geladen</title>
		<link>http://localdev.de/2010/09/vs-2010-pakete-werden-nicht-ordnungsgemaes-geladen/</link>
		<comments>http://localdev.de/2010/09/vs-2010-pakete-werden-nicht-ordnungsgemaes-geladen/#comments</comments>
		<pubDate>Sat, 11 Sep 2010 13:12:48 +0000</pubDate>
		<dc:creator>Fabian Martin</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Tipps & Tricks]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Bug]]></category>
		<category><![CDATA[DACFramework]]></category>
		<category><![CDATA[DACProjectSystemSetup]]></category>
		<category><![CDATA[RadLangSvc]]></category>
		<category><![CDATA[TSqlLanguageService]]></category>

		<guid isPermaLink="false">http://localdev.de/?p=1146</guid>
		<description><![CDATA[Das &#8220;RadLangSvc.Package, RadLangSvc.VS, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91&#8243;-Paket wurde nicht ordnungsgemäß geladen. Solltet ihr auch von Fehlermeldungen dieser Art geplagt werden und eine Reparatur von Visual Studio keinen Erfolg gebracht haben, dann schnappt euch eure Installations DVD und installiert die folgenden Pakete nach. Zu finden sind sie im Pfad x:\WCU\DAC. DACFramework_deu.msi DACProjectSystemSetup_deu.msi TSqlLanguageService_deu.msi Die Meldungen sollten, nach [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Das &#8220;RadLangSvc.Package, RadLangSvc.VS, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91&#8243;-Paket wurde nicht ordnungsgemäß geladen.</strong></p>
<p>Solltet ihr auch von Fehlermeldungen dieser Art geplagt werden und eine Reparatur von Visual Studio keinen Erfolg gebracht haben, dann schnappt euch eure Installations DVD und installiert die folgenden Pakete nach. Zu finden sind sie im Pfad <em>x:\WCU\DAC</em>.</p>
<ul>
<li>DACFramework_deu.msi</li>
<li>DACProjectSystemSetup_deu.msi</li>
<li>TSqlLanguageService_deu.msi</li>
</ul>
<p>Die Meldungen sollten, nach der Installation, verschwunden sein.</p>

<div class="ngg-galleryoverview" id="ngg-gallery-6-1146">


	
	<!-- Thumbnails -->
		
	<div id="ngg-image-16" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://localdev.de/wp-content/gallery/vs-2010-pakete-werden-nicht-ordnungsgemas-geladen/image.png" title=" " class="thickbox" rel="set_6" >
								<img title="image" alt="image" src="http://localdev.de/wp-content/gallery/vs-2010-pakete-werden-nicht-ordnungsgemas-geladen/thumbs/thumbs_image.png" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-17" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://localdev.de/wp-content/gallery/vs-2010-pakete-werden-nicht-ordnungsgemas-geladen/image2.png" title=" " class="thickbox" rel="set_6" >
								<img title="image2" alt="image2" src="http://localdev.de/wp-content/gallery/vs-2010-pakete-werden-nicht-ordnungsgemas-geladen/thumbs/thumbs_image2.png" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-18" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://localdev.de/wp-content/gallery/vs-2010-pakete-werden-nicht-ordnungsgemas-geladen/image3.png" title=" " class="thickbox" rel="set_6" >
								<img title="image3" alt="image3" src="http://localdev.de/wp-content/gallery/vs-2010-pakete-werden-nicht-ordnungsgemas-geladen/thumbs/thumbs_image3.png" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 	 	
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>


]]></content:encoded>
			<wfw:commentRss>http://localdev.de/2010/09/vs-2010-pakete-werden-nicht-ordnungsgemaes-geladen/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PHP + PDT: Probleme bei der Installation des Zend Debuggers</title>
		<link>http://localdev.de/2010/06/php-pdt-probleme-bei-der-installation-des-zend-debuggers/</link>
		<comments>http://localdev.de/2010/06/php-pdt-probleme-bei-der-installation-des-zend-debuggers/#comments</comments>
		<pubDate>Fri, 18 Jun 2010 21:44:27 +0000</pubDate>
		<dc:creator>Fabian Martin</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Bug]]></category>
		<category><![CDATA[Debugger]]></category>
		<category><![CDATA[PDT]]></category>
		<category><![CDATA[zend]]></category>

		<guid isPermaLink="false">http://localdev.de/?p=816</guid>
		<description><![CDATA[Wer derzeit versucht den Zend Debugger über die Update Seite zu installieren, wird das Problem bereits bemerkt haben. Es funktioniert nicht. Scheinbar haben sich vor einiger Zeit die Dateinamen/Versionen geändert, aber es wurde versäumt die Update Seite zu kontrollieren. Während der Installation versucht Eclipse Dateien herunterzuladen die es auf dem Server nicht (mehr) gibt. Was [...]]]></description>
			<content:encoded><![CDATA[<p>Wer derzeit versucht den Zend Debugger über die Update Seite zu installieren, wird das Problem bereits bemerkt haben. Es funktioniert nicht.</p>
<p>Scheinbar haben sich vor einiger Zeit die Dateinamen/Versionen geändert, aber es wurde versäumt die Update Seite zu kontrollieren. Während der Installation versucht Eclipse Dateien herunterzuladen die es auf dem Server nicht (mehr) gibt.</p>
<p><strong>Was kann man also machen?</strong><br />
Die Lösung des Problems ist eigentlich recht einfach. Das einzige was wir hierzu benötigen ist ein Apache Server mit aktiven mod_rewrite, ein Packprogramm und ein Texteditor.</p>
<p>Speichert die <a href="http://downloads.zend.com/pdt/content.jar">content.jar</a> der Update Seite auf eurem PC und entpackt den Inhalt in einen Ordner eurer Wahl. Es sollte jeder handelsübliche Packer, der das ZIP Format versteht, möglich sein.<br />
In dem Zielordner sollte sich jetzt eine <em>content.xml</em> befinden. Öffnet diese mit einem Textprogramm und ersetzt alle Vorkommnisse von <em>20091116</em> durch <em>20091124</em>. Packt die content.xml nun wieder in eine ZIP Datei und nennt diese <em>content.jar</em>. </p>
<p>Erstellt eine .htaccess und fügt folgenden Inhalt ein:</p>
<pre class="brush: plain; title: ; notranslate">
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^.* http://downloads.zend.com/pdt/$0 [L]
</pre>
<p>Ihr habt jetzt eine .htaccess die jede Anfrage an eine nicht existierende Datei an die offizielle Update Seite weiterreicht.<br />
Legt beide Dateien nun in ein Verzeichnis unterhalb eures Apache Web Roots und tragt die URL als Update Seite bei eclipse ein.</p>
<p>Ihr könnt nun ohne größere Schwierigkeiten den Zend Debugger installieren. Wer keine Lust hat die Änderungen selbst durchzuführen, oder den Text durchzulesen, der kann sich die geänderten Dateien auch herunterladen, oder er trägt <a href="http://a2.localdev.de/zend/">http://a2.localdev.de/zend/</a> als Update Seite ein.</p>
<p><strong>Downloads:</strong></p>
<ul>
<li><a href='http://localdev.de/wp-content/uploads/2010/06/zend.zip'>Zend PDT Update Site Fix</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://localdev.de/2010/06/php-pdt-probleme-bei-der-installation-des-zend-debuggers/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Lighttpd 1.4: HTTP 417 Expectation Failed</title>
		<link>http://localdev.de/2010/01/lighttpd-1-4-http-417-expectation-failed/</link>
		<comments>http://localdev.de/2010/01/lighttpd-1-4-http-417-expectation-failed/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 14:22:40 +0000</pubDate>
		<dc:creator>Fabian Martin</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tipps & Tricks]]></category>
		<category><![CDATA[417]]></category>
		<category><![CDATA[Bug]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[cURL]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[Header]]></category>
		<category><![CDATA[Lighttpd]]></category>

		<guid isPermaLink="false">http://localdev.de/?p=417</guid>
		<description><![CDATA[Versucht man mit einer cURL oder .NET Anwendung POST Daten an einen Lighttpd 1.4 Server zu senden, bekommt man die Meldung Dies liegt daran, das die Programme einen Expect: 100-continue Header senden, und als Antwort 100 (Continue) oder 417 Expectation Failed erwarten. Lighty kennt den Header jedoch nicht, und antwortet deswegen mit dem besagten 417 [...]]]></description>
			<content:encoded><![CDATA[<p>Versucht man mit einer cURL oder .NET Anwendung POST Daten an einen Lighttpd 1.4 Server zu senden, bekommt man die Meldung</p>
<pre class="brush: plain; title: ; notranslate">

HTTP/1.1 417 Expectation Failed
</pre>
<p>Dies liegt daran, das die Programme einen <em>Expect: 100-continue</em> Header senden, und als Antwort <em>100 (Continue)</em> oder <em>417 Expectation Failed</em> erwarten. Lighty kennt den Header jedoch nicht, und antwortet deswegen mit dem besagten <em>417 Expectation Failed</em>.</p>
<p>Der <em>Expect: 100-continue</em> Header soll verhindern, das Daten an den Server gesendet werden, die nicht benötigt werden. Erkennt der Server z.B. das er die Anfrage ablehnen muss, kann er dies dem Client mitteilen, noch bevor die POST Daten übermittelt wurden.</p>
<p>Wer dennoch POST Daten an Lighty senden möchte, kann die folgenden Paramter anpassen:</p>
<p><strong>.NET</strong></p>
<pre class="brush: csharp; title: ; notranslate">

System.Net.ServicePointManager.Expect100Continue = false;
</pre>
<p><strong>cURL unter PHP</strong></p>
<pre class="brush: php; title: ; notranslate">
curl_setopt($objCurl, CURLOPT_HTTPHEADER, array('Expect: '));
</pre>
<p><strong>cURL auf der Kommandozeile</strong></p>
<pre class="brush: bash; title: ; notranslate">
curl -v -H &quot;Expect: &quot; -F &quot;field=value&quot; http://example.com/upload.php
</pre>
<p>Alternativ aktualisiert man auf Lighttpd 1.5. Dieser kennt den <em>Expect: 100-continue</em> Header und beantwortet entsprechende Anfragen korrekt.</p>
<p>Browser senden übrigens keinen <em>Expect: 100-continue</em> Header.</p>
]]></content:encoded>
			<wfw:commentRss>http://localdev.de/2010/01/lighttpd-1-4-http-417-expectation-failed/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Weihnachten, Google, Firefox und ich</title>
		<link>http://localdev.de/2009/12/weihnachten-google-firefox-und-ich/</link>
		<comments>http://localdev.de/2009/12/weihnachten-google-firefox-und-ich/#comments</comments>
		<pubDate>Mon, 28 Dec 2009 19:34:05 +0000</pubDate>
		<dc:creator>Fabian Martin</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Absturz]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[Bug]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Mozilla]]></category>

		<guid isPermaLink="false">http://localdev.de/?p=367</guid>
		<description><![CDATA[Nach einem Blick in die Google Webmaster Tools, wage ich zu behaupten, dass wieder viele PCs und Notebooks verschenkt wurden. Schade das, bei vielen Beschenkten, scheinbar der Firefox abstürzt oder Probleme beim Starten hat.]]></description>
			<content:encoded><![CDATA[<p>Nach einem Blick in die Google Webmaster Tools, wage ich zu behaupten, dass wieder viele PCs und Notebooks verschenkt wurden.</p>
<p><a href="http://localdev.de/wp-content/uploads/2009/12/google_firefox.png"><img class="aligncenter size-full wp-image-369" title="google_firefox" src="http://localdev.de/wp-content/uploads/2009/12/google_firefox.png" alt="" width="417" height="249" /></a></p>
<p>Schade das, bei vielen Beschenkten, scheinbar der Firefox abstürzt oder Probleme beim Starten hat.</p>
]]></content:encoded>
			<wfw:commentRss>http://localdev.de/2009/12/weihnachten-google-firefox-und-ich/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[PHP] Wenn der Kanarienvogel nicht mehr zwitschert</title>
		<link>http://localdev.de/2009/08/php-wenn-der-kanarienvogel-nicht-mehr-zwitschert/</link>
		<comments>http://localdev.de/2009/08/php-wenn-der-kanarienvogel-nicht-mehr-zwitschert/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 15:40:09 +0000</pubDate>
		<dc:creator>Fabian Martin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Bug]]></category>
		<category><![CDATA[canary mismatch]]></category>
		<category><![CDATA[Suhosin]]></category>

		<guid isPermaLink="false">http://localdev.de/?p=81</guid>
		<description><![CDATA[Wer sich wundert warum seine PHP Skripte ohne ersichtlichen Grund einen HTTP 500 Internal Server Error liefern, sollte einmal prüfen ob Suhosin aktiv ist. Dieser Auszug stammt von einem unserer Debian Server und repräsentiert in jeder Zeile einen HTTP 500 Error. Was ist passiert? Suhosin versucht Attacken auf Sicherheitslücken in PHP bzw. PHP Skripten zu [...]]]></description>
			<content:encoded><![CDATA[<p>Wer sich wundert warum seine PHP Skripte ohne ersichtlichen Grund einen HTTP 500 Internal Server Error liefern, sollte einmal prüfen ob Suhosin aktiv ist.</p>
<p>Dieser Auszug stammt von einem unserer Debian Server und repräsentiert in jeder Zeile einen HTTP 500 Error.</p>
<pre class="brush: bash; title: ; notranslate">Aug 17 11:44:14 srv1 suhosin[14716]: ALERT - canary mismatch on erealloc() - heap overflow detected (attacker '80.*.*.*', file '../index.php')
Aug 17 11:44:15 srv1 suhosin[14717]: ALERT - canary mismatch on erealloc() - heap overflow detected (attacker '80.*.*.*', file '../index.php')
Aug 17 11:44:16 srv1 suhosin[14718]: ALERT - canary mismatch on erealloc() - heap overflow detected (attacker '80.*.*.*', file '../index.php')
Aug 17 11:44:16 srv1 suhosin[14719]: ALERT - canary mismatch on erealloc() - heap overflow detected (attacker '80.*.*.*', file '../index.php')</pre>
<p><strong>Was ist passiert?</strong><br />
Suhosin versucht Attacken auf Sicherheitslücken in PHP bzw. PHP Skripten zu erkennen und zu verhindern. Hierzu überwacht es u.a. den Arbeitsspeicher, und fügt beim Schreiben von Daten noch eigene Informationen hinzu. Sind diese Informationen beim Abrufen fehlerhaft, oder fehlen sie komplett, glaubt Suhosin einen Fehler zu erkennen, und beendet die Ausführung von PHP.</p>
<p><strong>Wie? Wo? Was?</strong><br />
Ob der Kern oder ein Modul von PHP Schuld haben, lässt sich nicht so einfach sagen, da Suhosin zu wenig Informationen liefert. Man geht aber davon aus, das die Fehler in den PHP Modulen stecken.</p>
<p><strong>Was kann ich machen?</strong><br />
Entweder man deaktiviert alle PHP Module nacheinander, bis kein Fehler mehr auftritt<del datetime="2009-08-27T21:09:30+00:00">, oder man deaktiviert direkt Suhosin</del>. <strong>Update:</strong> Auch mit ausgeschaltetem Suhosin kann der Fehler auftreten, da das Verhalten durch den <a href="http://www.hardened-php.net/" target="_blank">Hardened-PHP</a> Patch direkt im Kern steckt. Interessanterweise bringt das deaktivieren von Suhosin eine derartige Senkung mit sich, das ich nur durch eine eindeutige Fehlkonfiguration von PHP den Fehler wieder zu sehen bekam (session.save_handler war auf memcache eingestellt, memcached selber aber nicht gestartet).</p>
<p><strong>Warum Kanarienvogel?</strong><br />
Der Kanarienvogel (canary) in der Fehlermeldung bezieht sich auf den Bergbau. Dort hat man in der Vergangenheit Kanarienvögel mit in den Untergrund genommen, um zu prüfen ob in einem Stollen genug Sauerstoff vorhanden war. Sind die Vögel verendet, wusste man das Gefahr droht, und hat die Arbeit sofort beendet.</p>
]]></content:encoded>
			<wfw:commentRss>http://localdev.de/2009/08/php-wenn-der-kanarienvogel-nicht-mehr-zwitschert/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

