template_file_cache.php: wann wird (nicht) gecacht?

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Benutzeravatar
DarkHappyAffe
Mitglied
Beiträge: 10
Registriert: 11.01.2005 19:28
Wohnort: Oldenburg (Oldenburg)
Kontaktdaten:

template_file_cache.php: wann wird (nicht) gecacht?

Beitrag von DarkHappyAffe »

ich habe ein verständnis problem mit der template_file_cache.php aus dem phpbb contrib-verzeichnis.
irgendwie check ich aber absolut nicht, wann das gecachte template geladen wird und wann es neu generiert wird.
bis jetzt bin ich soweit: haben das gecachte und das originale template-file die gleiche modifikation-zeit, wird das gecachte template genommen. ansonsten wird es neu generiert. dann wird die modifikations-zeit für das gecachte template auf die zeit des orig. template-files gesetzt.
aber wann/wie werden die zeiten von beiden dateien unterschiedlich, damit das neu-generieren angestoßen werden kann??? da komm ich nicht weiter und auch die sufu hat mich leider nicht schlauer gemacht ...

Code: Alles auswählen

	function pparse($handle)
	{
		global $phpEx;

		$cache_file = $this->cachedir . $this->filename[$handle] . '.' . $phpEx;

		if(@filemtime($cache_file) == @filemtime($this->files[$handle]))
		{
			$_str = '';
			include($cache_file);

			if ($_str != '')
			{
				echo $_str;
			}
		}
		else
		{
			if (!$this->loadfile($handle))
			{
				die("Template->pparse(): Couldn't load template file for handle $handle");
			}

			// Actually compile the code now.
			$this->compiled_code[$handle] = $this->compile($this->uncompiled_code[$handle]);

			$fp = fopen($cache_file, 'w+');
			fwrite ($fp, '<?php' . "\n" . $this->compiled_code[$handle] . "\n?" . '>');
			fclose($fp);

			touch($cache_file, filemtime($this->files[$handle]));
			@chmod($cache_file, 0777);

			eval($this->compiled_code[$handle]);
		}

		return true;
	}
Ugga Agga!
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“