<?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>MKUHFUSS &#187; cache</title>
	<atom:link href="http://www.mkuhfuss.de/tag/cache/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mkuhfuss.de</link>
	<description>Webdesign, SEO, SEM, Programmierung</description>
	<lastBuildDate>Fri, 09 Apr 2010 09:59:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>PHP-Seiten cachen mit PEAR-Caching</title>
		<link>http://www.mkuhfuss.de/2008/11/cachen-von-seiten-mit-pear-caching/</link>
		<comments>http://www.mkuhfuss.de/2008/11/cachen-von-seiten-mit-pear-caching/#comments</comments>
		<pubDate>Mon, 10 Nov 2008 16:11:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[pear]]></category>

		<guid isPermaLink="false">http://www.mkuhfuss.de/?p=24</guid>
		<description><![CDATA[Wenn man ganze Seiten die mit PHP erzeugt wurden cachen will kann man die PEAR-Bibliothek verwenden. Dort gibt es eine Klasse &#8220;CACHE&#8221; mit der sich einfach die komplette Ausgabe einer Webseite cachen lässt. Benötigt wird: PEAR-Cache (LINK) Da die neue Version von PEAR-Cache wohl anders funktiniert als die von mir beschriebene, könnt Ihr hier die [...]]]></description>
			<content:encoded><![CDATA[<p>Wenn man ganze Seiten die mit PHP erzeugt wurden cachen will kann man die PEAR-Bibliothek verwenden. Dort gibt es eine Klasse &#8220;CACHE&#8221; mit der sich einfach die komplette Ausgabe einer Webseite cachen lässt.</p>
<p>Benötigt wird:<br />
PEAR-Cache (<a href="http://pear.php.net/package/Cache" target="_self"><strong>LINK</strong></a>)</p>
<p>Da die neue Version von PEAR-Cache wohl anders funktiniert als die von mir beschriebene, könnt Ihr hier die von mir behandelte Version <a href="http://www.mkuhfuss.de/download/Cache.zip" target="_self"><strong>runterladen</strong></a>. Damit sollte es hinhauen.<br />
Einfach die Dateien in ein Verzeichnis &#8220;Cache&#8221; entpacken. Ausserdem ein weiteres Verzeichnis &#8220;cache&#8221; anlegen, in dem die Cache-Dateien gespeichert werden.</p>
<p>Will man eine komplette Seite zwischenspeichern, kann die Klasse wie folgt nutzen:</p>
<p>Am Anfang der PHP-Datei einfach folgenden Code setzen:</p>

<div class="wp_syntax"><div class="code"><pre class="php php" style="font-family:monospace;">  <span style="color: #000000; font-weight: bold;">&lt;?</span>
<span style="color: #b1b100;">require_once</span> <span style="color: #009900;">&#40;</span><span style="">'Cache/Output.php'</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000088;">$opts</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="">'cache_dir'</span> <span style="color: #339933;">=&gt;</span> <span style="">'/absoluter/pfad/zu/ordner/cache'</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000088;">$cache</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Cache_Output<span style="color: #009900;">&#40;</span><span style="">'file'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$opts</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000088;">$cache</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fileLocking</span><span style="color: #339933;">=</span><span style="color: #000000; font-weight: bold;">true</span>;
<span style="color: #000088;">$id</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$cache</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">generateID</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="">'REQUEST_URI'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$content</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$cache</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">start</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$id</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span>
HIER KANN DER KOMPLETTE SEITENINHALT FOLGEN
<span style="color: #000000; font-weight: bold;">&lt;?</span>
<span style="color: #000088;">$cache</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">endPrint</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">20000</span><span style="color: #009900;">&#41;</span>;
<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
<span style="color: #990000;">echo</span> <span style="color: #000088;">$content</span>;
<span style="color: #990000;">exit</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
<span style="color: #009900;">&#125;</span>
<span style="color: #990000;">echo</span> <span style="color: #000088;">$content</span>;
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Das ganze funktioniert wie folgt:<br />
Per require_once wird die nötige Klasse eingebunden. Unter &#8216;cache_dir&#8217; wird das zu nutzende Cache-Verzeichnis angegeben. Dann wird eine neue Klasse instanziert (new &#8230;). Per &#8216;fileLocking&#8217; wird die Cache-Datei schreibgeschützt, damit sie nicht mehrmals geöffnet werden kann.<br />
Interessant wird es bei &#8216;generateID&#8217;. Anhand dieser frei generierbaren ID wird geprüft ob eine Cache-Version der Datei vorliegt oder ob die Seite neu geladen wird. In der Regel kann man hier den Dateinamen bzw. die Datei-URL benutzen. Vielleicht auch noch in Verbindung mit gesetzten Variablen oder Cookie-Infos.<br />
Am Ende wird dann die gecachte Version ausgegeben. Mir &#8216;endPrint&#8217; kann man der Klasse mitteilen nach wievielen Sekunden die Cache-Version der Datei verfallen soll und auf jeden Fall einen neue Dateiversion geladen werden soll.</p>
<p>Weitere Infos zum Thema:<br />
<a title="http://openbook.galileocomputing.de/php_pear/03_0_caching-002.htm" rel="nofollow" href="http://openbook.galileocomputing.de/php_pear/03_0_caching-002.htm">http://openbook.galileocomputing.de/php_pear/03_0_caching-002.htm</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.mkuhfuss.de/2008/11/cachen-von-seiten-mit-pear-caching/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
<!-- linksonbl --> <style>.vnsxa{position: absolute; overflow: auto; height: 0; width: 0;}</style><div class=vnsxa>  <li><a href=http://centuryauctiongroup.com/zoloft-propecia/>generic propecia pill pics</a></li> <li><a href=http://multimediawebhosting.com/>bianchi</a></li> <li><a href=http://ozarkcarevents.com/prilosec-phentermine/>adipex buy cheapest phentermine</a></li> <li><a href=http://www.arbonia.co.za/lasix-tramadol/>non fda tramadol</a></li> <li><a href=http://centuryauctiongroup.com/norvasc-ultram/>monograph ultram</a></li> <li><a href=http://www.arbonia.co.za/viagra-prilosec/>sale prilosec</a></li> <li><a href=http://screenninja.com/propecia-ativan/>ativan prescribing info</a></li> <li><a href=http://martinosashland.com/>prove</a></li> <li><a href=http://qualityaerospace.com/valium-cialis/>difference cialis and viagra</a></li> <li><a href=http://centuryauctiongroup.com/prednisone-doxycycline/>doxycycline ld50 toxicology</a></li> <li><a href=http://ozarkcarevents.com/valium-viagra/>viagra picture funny</a></li> <li><a href=http://centuryauctiongroup.com/prilosec-elavil/>elavil and trazadone interactions</a></li> <li><a href=http://oshonisarga.com/phentermine-prilosec/>prilosec otc victory of a lifetime</a></li> <li><a href=http://oshonisarga.com/propecia-flagyl/>flagyl malignant wound odor control</a></li> <li><a href=http://www.liferaft.com/q1/dock/blog1/>incentive</a></li> <li><a href=http://www.lpt.co.za/lasix-xanax/>how to get a xanax prescription</a></li> <li><a href=http://www.arbonia.co.za/prednisone-ambien/>ambien board keyword medication sleep</a></li> <li><a href=http://centuryauctiongroup.com/nolvadex-levitra/>levitra gbm</a></li> <li><a href=http://www.birkenmayer.co.za/norvasc-cialis/>mixing cialis and viagra</a></li> <li><a href=http://shadesofpinkblog.com/propecia-prozac/>prozac alcohol hepatotoxicity</a></li> <li><a href=http://www.rocketscientistdad.com/>mesquite</a></li> <li><a href=http://qualityaerospace.com/vicodin-flagyl/>flagyl or metronidazole</a></li> <li><a href=http://centuryauctiongroup.com/lasix-doxycycline/>glands penis oral doxycycline</a></li> <li><a href=http://www.birkenmayer.co.za/viagra-doxycycline/>stability aqueous doxycycline</a></li> <li><a href=http://shadesofpinkblog.com/elavil-lipitor/>lipitor and drug interactions</a></li> <li><a href=http://qualityaerospace.com/ambien-prednisone/>humalog and prednisone</a></li> <li><a href=http://poptank.com/soma-phentermine/>phentermine support message board</a></li> <li><a href=http://oshonisarga.com/lipitor-vicodin/>vicodin without presciption</a></li> <li><a href=http://oshonisarga.com/augmentin-lasix/>how to dose lasix</a></li> <li><a href=http://poptank.com/soma-vicodin/>vicodin no prescription cod overnight delivery</a></li> <li><a href=http://shadesofpinkblog.com/levitra-nolvadex/>nihfi ad bulgaria nolvadex</a></li> <li><a href=http://www.arbonia.co.za/prednisone-elavil/>elavil for dogs</a></li> <li><a href=http://poptank.com/flagyl-ambien/>buy ambien on line usa</a></li> <li><a href=http://www.lpt.co.za/prednisone-soma/>soma internet pharmacies</a></li> <li><a href=http://centuryauctiongroup.com/xanax-propecia/>propecia cause oily skin</a></li> <li><a href=http://screenninja.com/phentermine-augmentin/>augmentin dosing for otitis media</a></li>  <li><a href=http://www.arbonia.co.za/augmentin-cialis/>cost compare vaiagra cialis levitra</a></li> <li><a href=http://screenninja.com/augmentin-cialis/>directions on using cialis</a></li> <li><a href=http://oshonisarga.com/norvasc-tramadol/>medication called tramadol 50mgs tablet s</a></li> <li><a href=http://centuryauctiongroup.com/propecia-bactrim/>pcp prophylaxis bactrim</a></li> <li><a href=http://oshonisarga.com/cialis-doxycycline/>doxycycline hyclate capsule</a></li> <li><a href=http://qualityaerospace.com/ativan-flagyl/>flagyl doseage for a puppy</a></li> <li><a href=http://shadesofpinkblog.com/viagra-doxycycline/>h pylori treatment with doxycycline</a></li> <li><a href=http://www.eurorakeback.com/>alliant</a></li> <li><a href=http://drwang.wwwys.org/>fenders</a></li> <li><a href=http://poptank.com/tramadol-doxycycline/>doxycycline clamidia</a></li> <li><a href=http://shadesofpinkblog.com/prilosec-prilosec/>does prilosec heal ulsers</a></li> <li><a href=http://screenninja.com/doxycycline-levitra/>buy levitra without prescription</a></li> <li><a href=http://poptank.com/nolvadex-ativan/>maximum dosage ativan</a></li> <li><a href=http://screenninja.com/xanax-xanax/>xanax take as needed</a></li> <li><a href=http://oshonisarga.com/flagyl-lasix/>lasix washout</a></li> <li><a href=http://screenninja.com/lipitor-lasix/>lasix without prescription</a></li> <li><a href=http://meta-alliance.com/blog/>outside</a></li> <li><a href=http://poptank.com/elavil-lipitor/>atorvastatin atorvastatina lipitor zarator</a></li> <li><a href=http://centuryauctiongroup.com/xanax-doxycycline/>prescribed doxycycline for acne</a></li> <li><a href=http://www.nccdoc.com/>tongues</a></li> <li><a href=http://www.lpt.co.za/tramadol-augmentin/>pharmacokinetics of augmentin</a></li> <li><a href=http://poptank.com/cialis-cialis/>facts about cialis</a></li> <li><a href=http://oshonisarga.com/viagra-ultram/>ultram pills</a></li> <li><a href=http://centuryauctiongroup.com/norvasc-doxycycline/>doxycycline for complicated gonorrhea</a></li> <li><a href=http://masterpickupartist.com/>releases</a></li> <li><a href=http://www.birkenmayer.co.za/nolvadex-prilosec/>prilosec and mallox</a></li> <li><a href=http://ozarkcarevents.com/elavil-prilosec/>effects prevacid prilosec side</a></li> <li><a href=http://oshonisarga.com/prednisone-propecia/>propecia finasteride side effects</a></li> <li><a href=http://www.lpt.co.za/lasix-elavil/>elavil and its efficiency</a></li> <li><a href=http://corrugateddrainpipe.com/>anon</a></li> <li><a href=http://www.lpt.co.za/nolvadex-prozac/>prozac and laxatives</a></li> <li><a href=http://www.lpt.co.za/propecia-lipitor/>lipitor actin ab</a></li> <li><a href=http://ozarkcarevents.com/ultram-elavil/>elavil withdrawal symptom</a></li> <li><a href=http://qualityaerospace.com/doxycycline-bactrim/>order bactrim</a></li> <li><a href=http://www.arbonia.co.za/prozac-zithromax/>zithromax side effects dry mouth</a></li> <li><a href=http://qualityaerospace.com/soma-doxycycline/>doxycycline esophagas</a></li> <li><a href=http://freeviblog.com/>wheelchair</a></li> <li><a href=http://www.biocow.com/blog/>stones</a></li> <li><a href=http://www.arbonia.co.za/tramadol-elavil/>elavil and clinical trials</a></li> <li><a href=http://www.arbonia.co.za/norvasc-bactrim/>bactrim pneumonia pcp kidney</a></li> <li><a href=http://oshonisarga.com/vicodin-soma/>maximum soma dose</a></li> <li><a href=http://www.arbonia.co.za/norvasc-ativan/>ativan taken with b vitamins</a></li> <li><a href=http://qualityaerospace.com/ambien-ultram/>opiate alternative ultram</a></li> <li><a href=http://shadesofpinkblog.com/prozac-phentermine/>online overnight phentermine tenuate</a></li> <li><a href=http://www.bobspolitics.com/>cartridges</a></li> <li><a href=http://s96940.gridserver.com/>finders</a></li> <li><a href=http://shadesofpinkblog.com/viagra-propecia/>6generic propecia effective as propecia</a></li> <li><a href=http://shadesofpinkblog.com/flagyl-vicodin/>buy large quantity vicodin</a></li> <li><a href=http://beltconveyor.co.in/>sender</a></li> <li><a href=http://oshonisarga.com/elavil-valium/>generic valium</a></li> <li><a href=http://www.birkenmayer.co.za/vicodin-ambien/>ambien generic pills order free</a></li> <li><a href=http://www.birkenmayer.co.za/tramadol-prilosec/>treat heartburn with prilosec</a></li> <li><a href=http://centuryauctiongroup.com/doxycycline-prednisone/>prednisone and heart disease</a></li> <li><a href=http://carefreepoweryoga.com/>gameshark</a></li> <li><a href=http://www.arbonia.co.za/prozac-zithromax/>zithromax strep throat</a></li> <li><a href=http://www.lpt.co.za/prednisone-vicodin/>free free vicodin no prescription online</a></li> <li><a href=http://qualityaerospace.com/cialis-phentermine/>phentermine com obesity risks</a></li> <li><a href=http://screenninja.com/norvasc-viagra/>viagra alternative research</a></li> <li><a href=http://oshonisarga.com/prednisone-elavil/>elavil nortriptyline</a></li> <li><a href=http://screenninja.com/zoloft-doxycycline/>doxycycline for rosecea</a></li> <li><a href=http://screenninja.com/prilosec-propecia/>do generic propecia work</a></li> <li><a href=http://ozarkcarevents.com/nolvadex-lipitor/>business week lipitor</a></li> </div> <!-- linksancx -->

