phpBB Optimierungen?

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.
thompson
Mitglied
Beiträge: 797
Registriert: 14.11.2002 14:04
Wohnort: irgendwo im süden
Kontaktdaten:

Beitrag von thompson »

itst hat geschrieben:das Cachen des $boardconfig-Arrays, das bei jedem Seitenaufruf neu aus der DB gelesen wird. Den Foren-Aufbau kann auch gut Cachen, ändern der sich ja nur, wenn man Foren hinzufügt, löscht oder die Beschreibung ändert..
ist das irgendwo genauer beschrieben ?
itst hat geschrieben:Aus seiten des Servers ist es dringend angeraten, MySql 4.x mit Query Caches zu benutzen sowie einen PHP Bytecode-Cacher wie Turck MM Cache bzw. den PHP Accelerator. Der Einsatz eines solchen Tools bringt sofort 20-50% mehr Performance bei der Ausführng von PHP-Code. Gerade bei phpBB mit seinen vielen includes knappst ein Bytecode-Cacher eine Menge Ausführungszeit ab.
wo muss man den accelerator installieren ? geht das auf einem webserver bei all-inkl.com ?
Benutzeravatar
itst
Ehrenadmin
Beiträge: 7418
Registriert: 21.08.2001 02:00
Wohnort: Büttelborn bei Darmstadt
Kontaktdaten:

Beitrag von itst »

Nein, das habe ich bisher nicht dokumentiert.

Im Grunde fängst Du das Array ab, bevor es nach einer Änderung in die Db geschrieben wird und schreibst es in eine Datei.

Und statt nun bei jedem Seitenaufruf den Kram aus der Db zu lesen, machst Du einen include auf die Datei bzw. liest sie ein.

all-inkl installiert i. d. R. auf den Managed Servern Software auf Wunsch - ob das was kostet und wenn ja wieviel, keine Ahung.
Sascha A. Carlin,
phpBB.de Ehrenadministrator
:o
mr.no-name
Mitglied
Beiträge: 1883
Registriert: 20.10.2003 12:07
Wohnort: Hannover

Beitrag von mr.no-name »

@itst: Könntest du da kurz ein How-To draus machen (kannst du dann ja in die KB tun :D ) Wäre nett!
Benutzeravatar
itst
Ehrenadmin
Beiträge: 7418
Registriert: 21.08.2001 02:00
Wohnort: Büttelborn bei Darmstadt
Kontaktdaten:

Beitrag von itst »

Wenn ich die Zeit finde, ja. Eventuell am WE, aber ich möchte nix versprechen.
Sascha A. Carlin,
phpBB.de Ehrenadministrator
:o
adidas
Mitglied
Beiträge: 1204
Registriert: 14.08.2003 00:09

Beitrag von adidas »

@itst, könntest du mir weiterhelfen? Cachen der Jumbbox (http://www.phpbb.de/doku/kb/artikel.php?artikel=110) klappt bei Catogeries Hiarchy nicht :cry:, weil da ein Code von der Catogeries Hiarchy ist und dann kommt diese Fehlermeldung:
Warning: fopen(./cache/jumpbox_categories.data): failed to open stream: Permission denied in /home/www/web/html/includes/functions.php on line 193

Warning: fwrite(): supplied argument is not a valid stream resource in /home/www/web/html/includes/functions.php on line 194

Warning: fclose(): supplied argument is not a valid stream resource in /home/www/web/html/includes/functions.php on line 195

Warning: fopen(./cache/jumpbox_forums.data): failed to open stream: Permission denied in /home/www/web/html/includes/functions.php on line 220

Warning: fwrite(): supplied argument is not a valid stream resource in /home/www/web/html/includes/functions.php on line 221

Warning: fclose(): supplied argument is not a valid stream resource in /home/www/web/html/includes/functions.php on line 222

Warning: fopen(./cache/jumpbox_boxstring.data): failed to open stream: Permission denied in /home/www/web/html/includes/functions.php on line 278

Warning: fwrite(): supplied argument is not a valid stream resource in /home/www/web/html/includes/functions.php on line 279

Warning: fclose(): supplied argument is not a valid stream resource in /home/www/web/html/includes/functions.php on line 280
die Stelle bei functions.php sieht so aus:

Code: Alles auswählen

function make_jumpbox($action, $match_forum_id = 0)
{
	global $template, $userdata, $lang, $db, $nav_links, $phpEx, $SID;

//-- mod : categories hierarchy --------------------------------------------------------------------
//-- add
	return jumpbox($action, $match_forum_id);
//-- fin mod : categories hierarchy ----------------------------------------------------------------

//	$is_auth = auth(AUTH_VIEW, AUTH_LIST_ALL, $userdata);

	$sql = "SELECT c.cat_id, c.cat_title, c.cat_order
		FROM " . CATEGORIES_TABLE . " c, " . FORUMS_TABLE . " f
		WHERE f.cat_id = c.cat_id
		GROUP BY c.cat_id, c.cat_title, c.cat_order
		ORDER BY c.cat_order";
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, "Couldn't obtain category list.", "", __LINE__, __FILE__, $sql);
	}
	
	$category_rows = array();
	while ( $row = $db->sql_fetchrow($result) )
	{
		$category_rows[] = $row;
	}

	if ( $total_categories = count($category_rows) )
	{
		$sql = "SELECT *
			FROM " . FORUMS_TABLE . "
			ORDER BY cat_id, forum_order";
		if ( !($result = $db->sql_query($sql)) )
		{
			message_die(GENERAL_ERROR, 'Could not obtain forums information', '', __LINE__, __FILE__, $sql);
		}

		$boxstring = '<select name="' . POST_FORUM_URL . '" onchange="if(this.options[this.selectedIndex].value != -1){ forms[\'jumpbox\'].submit() }"><option value="-1">' . $lang['Select_forum'] . '</option>';

		$forum_rows = array();
		while ( $row = $db->sql_fetchrow($result) )
		{
			$forum_rows[] = $row;
		}

		if ( $total_forums = count($forum_rows) )
		{
			for($i = 0; $i < $total_categories; $i++)
			{
				$boxstring_forums = '';
				for($j = 0; $j < $total_forums; $j++)
				{
					if ( $forum_rows[$j]['cat_id'] == $category_rows[$i]['cat_id'] && $forum_rows[$j]['auth_view'] <= AUTH_REG )
					{

//					if ( $forum_rows[$j]['cat_id'] == $category_rows[$i]['cat_id'] && $is_auth[$forum_rows[$j]['forum_id']]['auth_view'] )
//					{
						$selected = ( $forum_rows[$j]['forum_id'] == $match_forum_id ) ? 'selected="selected"' : '';
						$boxstring_forums .=  '<option value="' . $forum_rows[$j]['forum_id'] . '"' . $selected . '>' . $forum_rows[$j]['forum_name'] . '</option>';

						//
						// Add an array to $nav_links for the Mozilla navigation bar.
						// 'chapter' and 'forum' can create multiple items, therefore we are using a nested array.
						//
						$nav_links['chapter forum'][$forum_rows[$j]['forum_id']] = array (
							'url' => append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=" . $forum_rows[$j]['forum_id']),
							'title' => $forum_rows[$j]['forum_name']
						);
								
					}
				}

				if ( $boxstring_forums != '' )
				{
					$boxstring .= '<option value="-1">&nbsp;</option>';
					$boxstring .= '<option value="-1">' . $category_rows[$i]['cat_title'] . '</option>';
					$boxstring .= '<option value="-1">----------------</option>';
					$boxstring .= $boxstring_forums;
				}
			}
		}

		$boxstring .= '</select>';
	}
	else
	{
		$boxstring .= '<select name="' . POST_FORUM_URL . '" onchange="if(this.options[this.selectedIndex].value != -1){ forms[\'jumpbox\'].submit() }"></select>';
	}

   // Let the jumpbox work again in sites having additional session id checks. 
//   if ( !empty($SID) ) 
//   { 
      $boxstring .= '<input type="hidden" name="sid" value="' . $userdata['session_id'] . '" />'; 
//   }

	$template->set_filenames(array(
		'jumpbox' => 'jumpbox.tpl')
	);
	$template->assign_vars(array(
		'L_GO' => $lang['Go'],
		'L_JUMP_TO' => $lang['Jump_to'],
		'L_SELECT_FORUM' => $lang['Select_forum'],

		'S_JUMPBOX_SELECT' => $boxstring,
		'S_JUMPBOX_ACTION' => append_sid($action))
	);
	$template->assign_var_from_handle('JUMPBOX', 'jumpbox');

	return;
}
>>>>>>0<<<<<<
theMomo
Mitglied
Beiträge: 284
Registriert: 07.08.2003 16:17

Re: phpBB Optimierungen?

Beitrag von theMomo »

Bei dieser Anleitung verstehe ich folgendes nicht:


In der index.php wird eingefügt:

Code: Alles auswählen

if (!$userdata['session_logged_in'] && $_SERVER['HTTP_USER_AGENT'] != 'Cache-Skript')
{
        readfile('/Pfad/zu/phpbb.de/wget/index.php.html');
        exit;
}
Müsste der Pfad nicht eigentlich in das temp-Verzeichnis führen? So speichert er ja alle sin wget. Wozu habe ich dann das temp? Habe ich da einen Denkfehler?

Danke schon mal.
Benutzeravatar
larsneo
Mitglied
Beiträge: 2622
Registriert: 07.03.2002 15:23
Wohnort: schwäbisch gmünd
Kontaktdaten:

Beitrag von larsneo »

theMomo hat geschrieben:Müsste der Pfad nicht eigentlich in das temp-Verzeichnis führen? So speichert er ja alle sin wget. Wozu habe ich dann das temp? Habe ich da einen Denkfehler?
rtfm hat geschrieben:Doch zunächst brauchen wir zwei Verzeichnisse für die zwischengespeicherten Dateien. Ich habe im phpBB-Verzeichnis ein Verzeichnis 'wget' erstellt und darin ein Verzeichnis 'temp'. Das Skript wird dafür sorgen, das die Ausgaben von wget in 'temp' landen und von dort eine Etage aufwärts nach 'wget' verschoben werden. Würden wir nur ein Verzeichnis benutzen, müssten wir die Dateien jeweils löschen und neu erstellen lassen, was dazu führen kann, das ein Benutzer gerade in dem Moment, wo die Dateien schon gelöscht, aber die neuen noch nicht erstellt sind, auf sie zugreifen möchte und sich eine Fehlermeldung einhandelt.
gruesse aus dem wilden sueden
larsneo
..::[krapohl.net]::..
theMomo
Mitglied
Beiträge: 284
Registriert: 07.08.2003 16:17

Beitrag von theMomo »

Klar, danke. :oops: Da habe ich wohl nur überflogen statt zu lesen.
Antworten

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