Cannot redeclare class template - Workaround :-)

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.
MuggelKid
Mitglied
Beiträge: 5
Registriert: 25.04.2005 11:35

Cannot redeclare class template - Workaround :-)

Beitrag von MuggelKid »

Nach langem suchen habe ich endlich einen Workaround für das Problem mit dem Fehler in der Berechtigungsvergabe gefunden.

Bekanntlich bekommt man ja auf einigen Systemen (und nein: es ist definitf nicht nur ein php5 Problem) beim Vergeben der Berechtigungen den Fehler

Code: Alles auswählen

Fatal error: Cannot redeclare class template in /path/to/includes/template.php on line 30
Wahlweise in Zeile 00 oder 30 (Je nach php-Version)

Gotteseidank gibt es aber user die so einem Problem wirklich auf den Grund gehen, und so habe ich diesen Post gefunden:
http://www.phpbb.com/phpBB/viewtopic.ph ... =redeclare

Man ersetze im Modul /admin/admin_ug_auth.php
Zeile 767

Code: Alles auswählen

@reset($auth_user);
durch den Hack

Code: Alles auswählen

// Manuel - patch for a wierd error probably caused by mmcache 
// Use the following instead of reset. 
// Has the same effect i.e. resetting array pointer. 
$temp_array = array(); 
$temp_array = array_merge($auth_user); 
$auth_user =& $new_array;
Das hiterlässt zwar ein verwaistes array, das aber am Ende der Skriptausführung bereinigt werden sollte :-)


Bei mir funktioniert seitdem ich die Änderung gemacht habe alles pipifein ;-)
Piramidon
Mitglied
Beiträge: 1
Registriert: 26.04.2005 18:07

Beitrag von Piramidon »

Hi,

ich habe es auch versucht, und bekomme nun eine andere Fehlermeldung:
Warning: array_merge() [function.array-merge]: Argument #1 is not an array in localhost\phpBB2\admin\admin_ug_auth.php on line 655

Fatal error: Cannot redeclare class template in localhost\phpBB2\includes\template.php on line 30
Wer kann mir helfen?
Zuletzt geändert von Piramidon am 26.04.2005 18:32, insgesamt 1-mal geändert.
Kubi84
Mitglied
Beiträge: 10
Registriert: 09.09.2004 15:08
Wohnort: Graal-Müritz
Kontaktdaten:

Beitrag von Kubi84 »

Danke, bei mir funzt wieder alles.

Kubi
John Doe
Mitglied
Beiträge: 684
Registriert: 30.03.2005 01:06

Beitrag von John Doe »

Das klappte leider bei mir nicht.

Was klappte ist:

.htaccess Datei im Adminordner mit folgendem Inhalt:

Code: Alles auswählen

php_flag eaccelerator.enable 0
Crucky
Mitglied
Beiträge: 1
Registriert: 04.05.2005 13:38

Beitrag von Crucky »

hallo leute,

ich habe das was ihr hier getippt habt auch ausprobiert, aber bei mir hat
das nur teilweise gefunzt. ich habe nun das problem, das er mir zwar
keinen fehler mehr meldet, aber dafür nur noch eine leere seite anzeigt.
(im bereich befugnisse bzw. berechtigungen)

eine .htaccess datei im admin ordner wie es john getippt hatte finde ich
ebenfalls nicht. und falls er sie erstellt hat: wie hat er das gemacht, daß
windoof die .htaccess datei ohne namen frisst? bei mir mault das system
nur "geben sie einen dateinamen an"...
Benutzeravatar
scampi
Mitglied
Beiträge: 1
Registriert: 15.05.2005 11:39

Beitrag von scampi »

Hi !
Ich habe beide Tips ausprobiert.
Der erste half nur in Verbindung mit PHP 4, bei PHP 5 gabs ne leere Seite.
Dafür klappt das mit der .htaccess Datei wunderbar unter PHP 5.

Danke für die Hilfe ! :grin:
steffi1977
Mitglied
Beiträge: 1578
Registriert: 10.01.2004 22:49
Wohnort: Moers
Kontaktdaten:

Beitrag von steffi1977 »

jetzt klappt es soweit, aber bekomme jetzt die Meldung
Warning: array_merge() [function.array-merge]: Argument #1 is not an array in /home/xxxx/admin/admin_ug_auth.php on line 813
Muesli84
Mitglied
Beiträge: 1
Registriert: 05.06.2005 10:05

Beitrag von Muesli84 »

dann setzt du einfach ein

Code: Alles auswählen

if (is_array($auth_user)) {
  ...
}
darum...


////Ist es eigentlich normal, dass man bei der Fortgeschrittenen Methode der Gruppenbefugnisse die Aktionen "Ansicht", "Lesen", "Posten", etc. nicht bearbeiten kann? Die Tabellenzellen dafuer sind bei mir leer.\\\\

==> Iss klar! H?tte das Benutzerhandbuch lesen sollen....
SuperAlien2
Mitglied
Beiträge: 28
Registriert: 02.04.2005 22:07
Wohnort: Augsburg
Kontaktdaten:

Beitrag von SuperAlien2 »

bei mir funtzt keine von beide lösungen
ich hab auch noch eine andere lösung gefunden (die bei mir aba au net geht):
This error sometimes appears after installing hacks or making cerain other edits to your forum's files. In order to use the phpBB template system and .tpl files, each page must, process the code contained in the includes/template.php file once. When a page tries to process this code a secon time, the error above appears.

Fortunately, this is an easy error to fix. First you need to locate this line in your inludes/template.php file. It will be near the top of the file, about thirty lines down.
Code: class Template {

Now add this code before the line you just found: Code: if(class_exists('Template'))
{
return;
}

The new code will prevent repeated processing of inludes/templlate.php and therefore put an end to this error.
kann mir mal bitte jemand sagen ob es NOCH eine lösung gibt?

ich habe bereits die obigen 2 ausprobiert und diese von mir gennanten, allerdings muss ich bei der 1. möglichkeit noch was fragen:
MuggelKid hat geschrieben: Man ersetze im Modul /admin/admin_ug_auth.php
Zeile 767
Code:
@reset($auth_user);
allerdings gibt bei mir in der zeile 767 diese zeile nicht...
wenn ich sie einsetz funtzt au net..

bitte helft mir...
mfg
alien
SuperAlien2
Mitglied
Beiträge: 28
Registriert: 02.04.2005 22:07
Wohnort: Augsburg
Kontaktdaten:

Beitrag von SuperAlien2 »

also da die obengenannten lösungen nicht funktionierten fragte ich bei meinem programmiersprachen lehrer nach, der sich unteranderem mit xampp sehr gut auskennt.

Dieser hat dann endlich das Problem gelöst, in dem er folgendes machte:

Er ist beim ordner von xampp in den apache ordner rein, dort in den bin-ordner. Im Bin-Ordner hat er dan die php.ini datei geöffnet und folgendes geänder: er hat runtergescrollt und unten kommen dann die funktionen von dem "eaccelerator". bei der funktion enable hat er dann auf 0 gesetzt.

das is das gleiche, wie wenn man des in die htaccess-datei reinschreibt, nur hat dies bei mir net funktioniert
Antworten

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