<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Kommentare für PHP Performance</title>
	<atom:link href="http://phpperformance.de/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://phpperformance.de</link>
	<description>Optimierung und Tipps zur Beschleunigung von PHP und MySQL</description>
	<lastBuildDate>Thu, 26 Jan 2012 23:01:03 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>Kommentar zu MySQL-Datenbank Tuning von escape</title>
		<link>http://phpperformance.de/mysql-datenbank-tuning/comment-page-1/#comment-50681</link>
		<dc:creator>escape</dc:creator>
		<pubDate>Thu, 26 Jan 2012 23:01:03 +0000</pubDate>
		<guid isPermaLink="false">http://phpperformance.de/mysql-datenbank-tuning/#comment-50681</guid>
		<description>Thx das hat mal wunderbar geholfen!!!!!!!!</description>
		<content:encoded><![CDATA[<p>Thx das hat mal wunderbar geholfen!!!!!!!!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Kommentar zu Mit MySQL zuf&#228;lligen Datensatz selektieren von r</title>
		<link>http://phpperformance.de/mit-mysql-zufaelligen-datensatz-selektieren/comment-page-1/#comment-50622</link>
		<dc:creator>r</dc:creator>
		<pubDate>Wed, 25 Jan 2012 13:56:16 +0000</pubDate>
		<guid isPermaLink="false">http://phpperformance.de/?p=963#comment-50622</guid>
		<description>nur ein SELECT

        $r = nysql_query($r);
        $n = mysql_num_rows($r);
        if($n &lt; 1) return false;

        $i = mt_rand(0,$n-1);
        mysql_data_seek($r,$i);
        return  mysql_fetch_row($r);

f&#252;r mehrer einfach ein are von $i anlegen und sortieren und dann mehrfach den lese pointer setzen.</description>
		<content:encoded><![CDATA[<p>nur ein SELECT</p>
<p>        $r = nysql_query($r);<br />
        $n = mysql_num_rows($r);<br />
        if($n &lt; 1) return false;</p>
<p>        $i = mt_rand(0,$n-1);<br />
        mysql_data_seek($r,$i);<br />
        return  mysql_fetch_row($r);</p>
<p>f&#252;r mehrer einfach ein are von $i anlegen und sortieren und dann mehrfach den lese pointer setzen.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Kommentar zu Pufferung von Ausgaben von Cayzland Studio</title>
		<link>http://phpperformance.de/pufferung-von-ausgaben/comment-page-1/#comment-49966</link>
		<dc:creator>Cayzland Studio</dc:creator>
		<pubDate>Sat, 14 Jan 2012 23:16:11 +0000</pubDate>
		<guid isPermaLink="false">http://phpperformance.de/pufferung-von-ausgaben/#comment-49966</guid>
		<description>Die Funktion macht vor allem dann Sinn, wenn man eine Ausgabe in eine Variable setzen will, um sie an anderer Stelle wieder auszugeben:

// hier wird der puffer gef&#252;llt
ob_start();
echo &#039;Dies ist der Inhalt, der alles m&#246;gliche enthalten kann, auch includes anderer Scripte etc.&#039;;

// hier wird der puffer in die variable &#252;bernommen und anschlie&#223;end geleert (das is wichtig, ansonsten wird doppelt ausgegeben):
$output = ob_get_contents();
ob_end_clean();

//irgendwo an anderer Stelle im Script:

echo $output;</description>
		<content:encoded><![CDATA[<p>Die Funktion macht vor allem dann Sinn, wenn man eine Ausgabe in eine Variable setzen will, um sie an anderer Stelle wieder auszugeben:</p>
<p>// hier wird der puffer gef&#252;llt<br />
ob_start();<br />
echo &#039;Dies ist der Inhalt, der alles m&#246;gliche enthalten kann, auch includes anderer Scripte etc.&#039;;</p>
<p>// hier wird der puffer in die variable &#252;bernommen und anschlie&#223;end geleert (das is wichtig, ansonsten wird doppelt ausgegeben):<br />
$output = ob_get_contents();<br />
ob_end_clean();</p>
<p>//irgendwo an anderer Stelle im Script:</p>
<p>echo $output;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Kommentar zu Server Side Cookies von gütling</title>
		<link>http://phpperformance.de/server-side-cookies/comment-page-1/#comment-48163</link>
		<dc:creator>gütling</dc:creator>
		<pubDate>Tue, 20 Dec 2011 11:47:28 +0000</pubDate>
		<guid isPermaLink="false">http://phpperformance.de/?p=1140#comment-48163</guid>
		<description>Unbedingt $_COOKIE[&#039;id&#039;] in der query escapen!</description>
		<content:encoded><![CDATA[<p>Unbedingt $_COOKIE['id'] in der query escapen!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Kommentar zu ob_gzhandler vs. zlib.output_compression von High Performance: Caching (reloaded) mit PHP &#124; PHP Gangsta - Der PHP Blog mit Praxisbezug</title>
		<link>http://phpperformance.de/ob_gzhandler-vs-zlib-output_compression/comment-page-1/#comment-48070</link>
		<dc:creator>High Performance: Caching (reloaded) mit PHP &#124; PHP Gangsta - Der PHP Blog mit Praxisbezug</dc:creator>
		<pubDate>Mon, 19 Dec 2011 08:47:20 +0000</pubDate>
		<guid isPermaLink="false">http://phpperformance.de/?p=1022#comment-48070</guid>
		<description>[...] auf dem Weg niemanden verlieren. Text-, bzw. html-Dateien sind gerade zu daf&#252;r erfunden worden, vor dem Versand komprimiert zu werden. Die Trafficersparnis betr&#228;gt meistens &#252;ber 80%, da sich wiederholende Zeichen leicht [...]</description>
		<content:encoded><![CDATA[<p>[...] auf dem Weg niemanden verlieren. Text-, bzw. html-Dateien sind gerade zu daf&#252;r erfunden worden, vor dem Versand komprimiert zu werden. Die Trafficersparnis betr&#228;gt meistens &#252;ber 80%, da sich wiederholende Zeichen leicht [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Kommentar zu Performancegewinn durch virtuelles JavaScript-File von Marcus</title>
		<link>http://phpperformance.de/performancegewinn-durch-virtuelles-javascript-file/comment-page-1/#comment-46583</link>
		<dc:creator>Marcus</dc:creator>
		<pubDate>Thu, 01 Dec 2011 18:06:39 +0000</pubDate>
		<guid isPermaLink="false">http://phpperformance.de/performancegewinn-durch-virtuelles-javascript-file/#comment-46583</guid>
		<description>@GhostGambler

Hey danke - jupp, ich muss noch viel lernen, aber mit Deinen Tipps und der Anlaufstelle sollte ich jetzt irgendwie weiterkommen.

Gr&#252;&#223;e
Marcus</description>
		<content:encoded><![CDATA[<p>@GhostGambler</p>
<p>Hey danke &#8211; jupp, ich muss noch viel lernen, aber mit Deinen Tipps und der Anlaufstelle sollte ich jetzt irgendwie weiterkommen.</p>
<p>Gr&#252;&#223;e<br />
Marcus</p>
]]></content:encoded>
	</item>
	<item>
		<title>Kommentar zu Performancegewinn durch virtuelles JavaScript-File von GhostGambler</title>
		<link>http://phpperformance.de/performancegewinn-durch-virtuelles-javascript-file/comment-page-1/#comment-46580</link>
		<dc:creator>GhostGambler</dc:creator>
		<pubDate>Thu, 01 Dec 2011 17:33:06 +0000</pubDate>
		<guid isPermaLink="false">http://phpperformance.de/performancegewinn-durch-virtuelles-javascript-file/#comment-46580</guid>
		<description>Irgendein PHP-Forum ist vermutlich die beste Anlaufstelle. php-resource.de/forum war auf jeden Fall in der Vergangenheit ganz gut. Ich selbst war schon ewig nicht mehr dort.

require_once mit http funktioniert zwar (manchmal), ist aber nicht sch&#246;n. require_once arbeitet auf dem Dateisystem. Dass da eine URL (http) rein gesteckt wird, funktioniert nur, weil es wiederum einen Wrapper gibt, der daf&#252;r sorgt, dass das funktioniert. Intern auf dem gleichen Webserver macht man so etwas aber nicht. Da arbeitet man auf dem Filesystem, also require_once(&#039;/mein/pfad/zur/datei&#039;);

Warum der Expires-Header ignoriert wurde, kann man jetzt so pauschal auch nicht sagen. Zwischen Tippfehler, und der Header wurde erkannt, du hast nur nicht erkannt, dass er erkannt wurde, gibt&#039;s noch mehr Fehlerquellen, …</description>
		<content:encoded><![CDATA[<p>Irgendein PHP-Forum ist vermutlich die beste Anlaufstelle. php-resource.de/forum war auf jeden Fall in der Vergangenheit ganz gut. Ich selbst war schon ewig nicht mehr dort.</p>
<p>require_once mit http funktioniert zwar (manchmal), ist aber nicht sch&#246;n. require_once arbeitet auf dem Dateisystem. Dass da eine URL (http) rein gesteckt wird, funktioniert nur, weil es wiederum einen Wrapper gibt, der daf&#252;r sorgt, dass das funktioniert. Intern auf dem gleichen Webserver macht man so etwas aber nicht. Da arbeitet man auf dem Filesystem, also require_once(&#039;/mein/pfad/zur/datei&#039;);</p>
<p>Warum der Expires-Header ignoriert wurde, kann man jetzt so pauschal auch nicht sagen. Zwischen Tippfehler, und der Header wurde erkannt, du hast nur nicht erkannt, dass er erkannt wurde, gibt&#039;s noch mehr Fehlerquellen, …</p>
]]></content:encoded>
	</item>
	<item>
		<title>Kommentar zu Performancegewinn durch virtuelles JavaScript-File von Marcus</title>
		<link>http://phpperformance.de/performancegewinn-durch-virtuelles-javascript-file/comment-page-1/#comment-46570</link>
		<dc:creator>Marcus</dc:creator>
		<pubDate>Thu, 01 Dec 2011 15:30:16 +0000</pubDate>
		<guid isPermaLink="false">http://phpperformance.de/performancegewinn-durch-virtuelles-javascript-file/#comment-46570</guid>
		<description>@GhostGambler

danke erstmal f&#252;r die Erkl&#228;rung - vor ein paar Monaten wu&#223;te ich noch garnichts - das Thema Webserver und Shop/CMS-Systeme usw. ist einfach sehr komplex.

Ich scheine sowieso das vscript von Tobias noch garnicht verstanden zu haben - gestern bei einem Versuch mit zwei .js dateien und kontrolle per fb-netzwerk-konsole wurde zwar die datei vscript.php von der Seite geladen, aber der Seitenaufbau war defekt, da wohl die skripte selbst nicht geladen wurden -auch die expires-Angabe wurde ignoriert.
Ich dachte, in der vsript.php m&#252;ssten die kompletten Pfade der js.dateien enthalten sein? Also:
require_once(&#039;http.../verzeichnis/verzeichnis//script1.js&#039;);

Aber vielleicht f&#252;hrt das an dieser Stelle zu weit - weisst Du wo ich konkret dazu Hilfe finden k&#246;nnte?

Gr&#252;&#223;e
Marcus</description>
		<content:encoded><![CDATA[<p>@GhostGambler</p>
<p>danke erstmal f&#252;r die Erkl&#228;rung &#8211; vor ein paar Monaten wu&#223;te ich noch garnichts &#8211; das Thema Webserver und Shop/CMS-Systeme usw. ist einfach sehr komplex.</p>
<p>Ich scheine sowieso das vscript von Tobias noch garnicht verstanden zu haben &#8211; gestern bei einem Versuch mit zwei .js dateien und kontrolle per fb-netzwerk-konsole wurde zwar die datei vscript.php von der Seite geladen, aber der Seitenaufbau war defekt, da wohl die skripte selbst nicht geladen wurden -auch die expires-Angabe wurde ignoriert.<br />
Ich dachte, in der vsript.php m&#252;ssten die kompletten Pfade der js.dateien enthalten sein? Also:<br />
require_once(&#039;http&#8230;/verzeichnis/verzeichnis//script1.js&#039;);</p>
<p>Aber vielleicht f&#252;hrt das an dieser Stelle zu weit &#8211; weisst Du wo ich konkret dazu Hilfe finden k&#246;nnte?</p>
<p>Gr&#252;&#223;e<br />
Marcus</p>
]]></content:encoded>
	</item>
	<item>
		<title>Kommentar zu Performancegewinn durch virtuelles JavaScript-File von GhostGambler</title>
		<link>http://phpperformance.de/performancegewinn-durch-virtuelles-javascript-file/comment-page-1/#comment-46568</link>
		<dc:creator>GhostGambler</dc:creator>
		<pubDate>Thu, 01 Dec 2011 15:05:12 +0000</pubDate>
		<guid isPermaLink="false">http://phpperformance.de/performancegewinn-durch-virtuelles-javascript-file/#comment-46568</guid>
		<description>eAccelerator arbeitet eine Schicht h&#246;her direkt in der ZendEngine. Du hast aus PHP-Skripten darauf keinen Zugriff (zumindest nicht so wie du dir das vorstellst). Und musst auch keinen haben. Der eAccelerator macht das alles von selbst.

mod_deflate arbeitet noch eine Ebene h&#246;her, n&#228;mlich als Modul im Webserver. Von PHP aus mal wieder erst recht kein Zugriff, aber auch darum musst du dich auch gar nicht k&#252;mmern. Der arbeitet ebenso von alleine. (Sofern er so konfiguriert ist, dass er JS-Dateien auch komprimiert.)

Ich empfehle dir dich mal mit den unterschiedlichen Schichten bei einem Aufruf auseinander zu setzen. Was passiert bei einem Aufruf einer Website genau, Webserver -&gt; PHP -&gt; Skript, und was passiert auf dem Weg zur&#252;ck. Da scheinst du ein paar Dinge noch nicht zu wissen.</description>
		<content:encoded><![CDATA[<p>eAccelerator arbeitet eine Schicht h&#246;her direkt in der ZendEngine. Du hast aus PHP-Skripten darauf keinen Zugriff (zumindest nicht so wie du dir das vorstellst). Und musst auch keinen haben. Der eAccelerator macht das alles von selbst.</p>
<p>mod_deflate arbeitet noch eine Ebene h&#246;her, n&#228;mlich als Modul im Webserver. Von PHP aus mal wieder erst recht kein Zugriff, aber auch darum musst du dich auch gar nicht k&#252;mmern. Der arbeitet ebenso von alleine. (Sofern er so konfiguriert ist, dass er JS-Dateien auch komprimiert.)</p>
<p>Ich empfehle dir dich mal mit den unterschiedlichen Schichten bei einem Aufruf auseinander zu setzen. Was passiert bei einem Aufruf einer Website genau, Webserver -&gt; PHP -&gt; Skript, und was passiert auf dem Weg zur&#252;ck. Da scheinst du ein paar Dinge noch nicht zu wissen.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Kommentar zu Performancegewinn durch virtuelles JavaScript-File von Marcus</title>
		<link>http://phpperformance.de/performancegewinn-durch-virtuelles-javascript-file/comment-page-1/#comment-46482</link>
		<dc:creator>Marcus</dc:creator>
		<pubDate>Wed, 30 Nov 2011 13:59:32 +0000</pubDate>
		<guid isPermaLink="false">http://phpperformance.de/performancegewinn-durch-virtuelles-javascript-file/#comment-46482</guid>
		<description>Hallo,
danke, das ist sehr interessant, aber ich bin noch nicht so erfahren - oben wird ja von Jan folgendes erg&#228;nzt:

header(&#039;Content-type: text/javascript&#039;);
header (&quot;cache-control: must-revalidate; max-age: 2592000&quot;);
header (&quot;expires: &quot; . gmdate (&quot;D, d M Y H:i:s&quot;, time() + 2592000) . &quot; GMT&quot;);
ob_start(&quot;ob_gzhandler&quot;);

Ich habe mod_deflate und den eAccellerator installiert.
Die Zeile &quot;ob_start(&quot;ob_gzhandler&quot;);&quot; h&#228;tte ich jetzt weggelassen - muss oder kann zur Komprimierung/Beschleunigung an dieser Stelle mod_deflate oder evtl. der eAccellerator nochmals aufgerufen werden und wenn ja wie?

Ich hoffe es ist erlaubt hier eine Frage zu stellen... 

Gr&#252;&#223;e
Marcus</description>
		<content:encoded><![CDATA[<p>Hallo,<br />
danke, das ist sehr interessant, aber ich bin noch nicht so erfahren &#8211; oben wird ja von Jan folgendes erg&#228;nzt:</p>
<p>header(&#039;Content-type: text/javascript&#039;);<br />
header (&#034;cache-control: must-revalidate; max-age: 2592000&#034;);<br />
header (&#034;expires: &#034; . gmdate (&#034;D, d M Y H:i:s&#034;, time() + 2592000) . &#034; GMT&#034;);<br />
ob_start(&#034;ob_gzhandler&#034;);</p>
<p>Ich habe mod_deflate und den eAccellerator installiert.<br />
Die Zeile &#034;ob_start(&#034;ob_gzhandler&#034;);&#034; h&#228;tte ich jetzt weggelassen &#8211; muss oder kann zur Komprimierung/Beschleunigung an dieser Stelle mod_deflate oder evtl. der eAccellerator nochmals aufgerufen werden und wenn ja wie?</p>
<p>Ich hoffe es ist erlaubt hier eine Frage zu stellen&#8230; </p>
<p>Gr&#252;&#223;e<br />
Marcus</p>
]]></content:encoded>
	</item>
</channel>
</rss>

