Fatal error: Cannot redeclare deregister_globals [...]

Fragen zur Bedienung von phpBB 3.0.x, Probleme bei der Benutzung und alle weiteren Fragen inkl. Update auf die neuste phpBB 3.0.14 Version
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Chibi_Saphir2k10
Mitglied
Beiträge: 20
Registriert: 07.04.2010 18:10

Fatal error: Cannot redeclare deregister_globals [...]

Beitrag von Chibi_Saphir2k10 »

hey Hallo!
Mein zweiter Bug Beitrag heute schon :( -.-
Und zwar, ich hab den Thankpostmod eingebaut und hab einiges aus dieser Anleitung gemacht (http://phpbb3.pytalhost.com/viewtopic.php?f=10&t=125).

Jedoch wenn ich jetzt auf einen Beitrag klick, erscheint bei mir eine Fehlermeldung:

Code: Alles auswählen

Fatal error: Cannot redeclare deregister_globals() (previously declared in /users/chibi2k10/www/phpbb/common.php:36) in /users/chibi2k10/www/phpbb/common.php on line 98
Ich hab mich schon erkundigt, aber mehr "da soll eine funktion ausgeführt werde, die bereits ausgeführt ist" bekam ich nicht heraus.
In der Common.php hab ich nichts gemacht... kann mir jemand da helfen??

danke im voraus.
Benutzeravatar
BNa
Valued Contributor
Beiträge: 3169
Registriert: 12.04.2010 23:51
Kontaktdaten:

Re: Fatal error: Cannot redeclare deregister_globals [...]

Beitrag von BNa »

Versuch mal folgendes:

öffne common.php

finde

Code: Alles auswählen

function deregister_globals()
{
	$not_unset = array(
		'GLOBALS'	=> true,
		'_GET'		=> true,
		'_POST'		=> true,
		'_COOKIE'	=> true,
		'_REQUEST'	=> true,
		'_SERVER'	=> true,
		'_SESSION'	=> true,
		'_ENV'		=> true,
		'_FILES'	=> true,
		'phpEx'		=> true,
		'phpbb_root_path'	=> true
	);

	// Not only will array_merge and array_keys give a warning if
	// a parameter is not an array, array_merge will actually fail.
	// So we check if _SESSION has been initialised.
	if (!isset($_SESSION) || !is_array($_SESSION))
	{
		$_SESSION = array();
	}

	// Merge all into one extremely huge array; unset this later
	$input = array_merge(
		array_keys($_GET),
		array_keys($_POST),
		array_keys($_COOKIE),
		array_keys($_SERVER),
		array_keys($_SESSION),
		array_keys($_ENV),
		array_keys($_FILES)
	);

	foreach ($input as $varname)
	{
		if (isset($not_unset[$varname]))
		{
			// Hacking attempt. No point in continuing unless it's a COOKIE
			if ($varname !== 'GLOBALS' || isset($_GET['GLOBALS']) || isset($_POST['GLOBALS']) || isset($_SERVER['GLOBALS']) || isset($_SESSION['GLOBALS']) || isset($_ENV['GLOBALS']) || isset($_FILES['GLOBALS']))
			{
				exit;
			}
			else
			{
				$cookie = &$_COOKIE;
				while (isset($cookie['GLOBALS']))
				{
					foreach ($cookie['GLOBALS'] as $registered_var => $value)
					{
						if (!isset($not_unset[$registered_var]))
						{
							unset($GLOBALS[$registered_var]);
						}
					}
					$cookie = &$cookie['GLOBALS'];
				}
			}
		}

		unset($GLOBALS[$varname]);
	}

	unset($input);
}
ersetze mit

Code: Alles auswählen

if(!function_exists('deregister_globals'))
{
function deregister_globals()
{
	$not_unset = array(
		'GLOBALS'	=> true,
		'_GET'		=> true,
		'_POST'		=> true,
		'_COOKIE'	=> true,
		'_REQUEST'	=> true,
		'_SERVER'	=> true,
		'_SESSION'	=> true,
		'_ENV'		=> true,
		'_FILES'	=> true,
		'phpEx'		=> true,
		'phpbb_root_path'	=> true
	);

	// Not only will array_merge and array_keys give a warning if
	// a parameter is not an array, array_merge will actually fail.
	// So we check if _SESSION has been initialised.
	if (!isset($_SESSION) || !is_array($_SESSION))
	{
		$_SESSION = array();
	}

	// Merge all into one extremely huge array; unset this later
	$input = array_merge(
		array_keys($_GET),
		array_keys($_POST),
		array_keys($_COOKIE),
		array_keys($_SERVER),
		array_keys($_SESSION),
		array_keys($_ENV),
		array_keys($_FILES)
	);

	foreach ($input as $varname)
	{
		if (isset($not_unset[$varname]))
		{
			// Hacking attempt. No point in continuing unless it's a COOKIE
			if ($varname !== 'GLOBALS' || isset($_GET['GLOBALS']) || isset($_POST['GLOBALS']) || isset($_SERVER['GLOBALS']) || isset($_SESSION['GLOBALS']) || isset($_ENV['GLOBALS']) || isset($_FILES['GLOBALS']))
			{
				exit;
			}
			else
			{
				$cookie = &$_COOKIE;
				while (isset($cookie['GLOBALS']))
				{
					foreach ($cookie['GLOBALS'] as $registered_var => $value)
					{
						if (!isset($not_unset[$registered_var]))
						{
							unset($GLOBALS[$registered_var]);
						}
					}
					$cookie = &$cookie['GLOBALS'];
				}
			}
		}

		unset($GLOBALS[$varname]);
	}

	unset($input);
}
}
Chibi_Saphir2k10
Mitglied
Beiträge: 20
Registriert: 07.04.2010 18:10

Re: Fatal error: Cannot redeclare deregister_globals [...]

Beitrag von Chibi_Saphir2k10 »

Moin.
Ich hab das mal nun ersetzt in der common.php
Der vorherige Fehler ist weg, allerdings taucht nun der auf:

Code: Alles auswählen

Fatal error: Cannot redeclare class acm in /users/chibi2k10/www/phpbb/includes/acm/acm_file.php  on line 24
Ne weitere Idee?
Benutzeravatar
BNa
Valued Contributor
Beiträge: 3169
Registriert: 12.04.2010 23:51
Kontaktdaten:

Re: Fatal error: Cannot redeclare deregister_globals [...]

Beitrag von BNa »

Ja, die Änderung rückgängig machen und den eigentlichen Fehler in der viewtopic.php suchen. Dazu die verschluste Datei mal lokal sichern und eine ganz frische einbauen und die verschluste Datei mal hierher verlinken: https://www.phpbb.de/support/pastebin.php
Chibi_Saphir2k10
Mitglied
Beiträge: 20
Registriert: 07.04.2010 18:10

Re: Fatal error: Cannot redeclare deregister_globals [...]

Beitrag von Chibi_Saphir2k10 »

BNa hat geschrieben:Ja, die Änderung rückgängig machen und den eigentlichen Fehler in der viewtopic.php suchen. Dazu die verschluste Datei mal lokal sichern und eine ganz frische einbauen und die verschluste Datei mal hierher verlinken: https://www.phpbb.de/support/pastebin.php
Ich habs mal rückgängig gemacht.
Wegen dem Viewtopic hochladen, wollte ich probieren, allerdings taucht dann ein Fehler beim Board auf:

Code: Alles auswählen

Allgemeiner Fehler
SQL ERROR [ mysqli ]

Data too long for column 'snippet_text' at row 1 [1406]
Benutzeravatar
BNa
Valued Contributor
Beiträge: 3169
Registriert: 12.04.2010 23:51
Kontaktdaten:

Re: Fatal error: Cannot redeclare deregister_globals [...]

Beitrag von BNa »

Hast Du ein Backup von vor dem Einbau der Add-Ons von Mahony? Also wo nu der rohe Thankpostmod eingebaut war? Falls ja, rücksichern und falls nein, alles wieder rückwärts ausbauen aus der verschlusten Datei und wieder hochladen.
Chibi_Saphir2k10
Mitglied
Beiträge: 20
Registriert: 07.04.2010 18:10

Re: Fatal error: Cannot redeclare deregister_globals [...]

Beitrag von Chibi_Saphir2k10 »

Hab jetzt eine frische viewtopic.php genommen, den ganzen Mod [hide] Code richtig eingebaut, der alte fehler verschwindet, ein neuer kommt:

Code: Alles auswählen

Parse error: syntax error, unexpected $end in /users/chibi2k10/www/phpbb/includes/template.php(230) : eval()'d code on line 314
Ich schau mir mal das an...

@Edit, auf Line 314 steht:

Code: Alles auswählen

	$compile = new template_compile($this);
@@Edit, aha. sobald ich die Seite mit dem Fehler aktualisier kommt:

Code: Alles auswählen

Parse error: syntax error, unexpected $end in /users/chibi2k10/www/phpbb/includes/template.php(230) : eval()'d code on line 314
Wenn ich den Cache lösche kommt wieder oben genannter fehler...
Benutzeravatar
Mahony
Ehemaliges Teammitglied
Beiträge: 12179
Registriert: 17.11.2005 22:33
Wohnort: Ostfildern Kemnat
Kontaktdaten:

Re: Fatal error: Cannot redeclare deregister_globals [...]

Beitrag von Mahony »

Hallo
Dieser Fehler
eval()'d code
erscheint im Allgemeinen, wenn du einen Switch entfernt hast.

Es müssen immer beide Switches vorhanden sein. Also Anfang und Ende.
Zum Beispiel

Code: Alles auswählen

<!-- IF BLAHBLA -->
und

Code: Alles auswählen

<!-- ENDIF -->
Schau dir also mal die Template-Datei (viewtopic_body.html) an und kontrolliere das mal.


Grüße: Mahony
Taekwondo in Berlin
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
Chibi_Saphir2k10
Mitglied
Beiträge: 20
Registriert: 07.04.2010 18:10

Re: Fatal error: Cannot redeclare deregister_globals [...]

Beitrag von Chibi_Saphir2k10 »

Ah,daran isses wohl gelegen.
Hab auch wieder eine frische viewtopic_body.html genommen, bei dem einbau der Mods peinlich drauf geachtet und hochgeladen. Cache noch gelöscht und nun funkt es wieder.

Danke!!
Antworten

Zurück zu „[3.0.x] Administration, Benutzung und Betrieb“