Fehlermeldung: cannot redeclare readfile()

Deutschsprachiger Support für CMS Made Simple
Post Reply
kohola
Forum Members
Forum Members
Posts: 28
Joined: Sun Nov 30, 2008 1:57 pm

Fehlermeldung: cannot redeclare readfile()

Post by kohola »

Hi all

nachdem mein Forum jetz eine Weile unberührt geblieben ist (keine Änderungen auch keine Seitenanlage) habe ich gestern festgestellt, daß die SEite nicht aufrufbar ist. Nachdem der Provider die Ausgabe von Fehlermeldungen aktiviert hat, bekam ich folgende Fehlermeldung:
Fatal error: Cannot redeclare readfile() in /home/vol4/byethost4.com/b4_2705973/htdocs/lib/misc.functions.php on line 1093

Die Antwort des Providers war: "Please fix this to fix your site" -->(sehr hilfreich)


Hoffe ihr könnt mir infos zu dieser Fehlermeldung geben, keine ahnung warum readfile() nicht mehr verstanden wird.

lg und dankeschön
kohola
nockenfell
Power Poster
Power Poster
Posts: 751
Joined: Fri Sep 12, 2008 2:34 pm

Re: Fehlermeldung: cannot redeclare readfile()

Post by nockenfell »

kohola wrote: Fatal error: Cannot redeclare readfile() in /home/vol4/byethost4.com/b4_2705973/htdocs/lib/misc.functions.php on line 1093
Tönt danach das du irgendwo die Funktion readfile() doppelt drin hast. Du kannst mit

Code: Select all

if (!function_exists('readfile') {

   function readfile() {
      -> inhalt Funktion
   }

}
Infos dazu:
http://ch.php.net/function_exists

Die Fehlermeldung verhindern. Dies musst du auf ab der Zeile 1039 der datei "./libs/misc.functions.php" machen.

Eine Garantie das es danach läuft gibt es nicht. Wenn die bereits deklarierte Funktion anders funktioniert das die Funktion die hier den Fehler verursacht, hast du ein grösseres Problem. In diesem Fall müsste ich mehr Infos zum Forum und zur Installation des Forums selber haben.
[this message is written with 100% recycled bits]
kohola
Forum Members
Forum Members
Posts: 28
Joined: Sun Nov 30, 2008 1:57 pm

Re: Fehlermeldung: cannot redeclare readfile()

Post by kohola »

Hallo Nockenfell

vorab herzlichen Dank für deine rasche Antwort.
In der misc.functions wird diese Funktion ab Zeile 1091 so aufgerufen

Code: Select all

if(!function_exists("readfile"))
	{
	function readfile($filename)
	{
@ob_start();
echo file_get_contents($filename);
$result = @ob_get_contents();
@ob_end_clean();
if( !empty($result) ) {
echo $result;
return TRUE;
}
return FALSE;
}
}

also es wird bereits geprüft ob diese Funktion vorhanden ist und ich hab das File auch durchsucht und sie kein zweites Mal gefunden.
____________________________________________________

ich habe jetzt eben festgestellt, daß die Seite aufgerufen werden kann. Frag mich einer warum!!

ABER vielen lieben Dank
kohola
cyberman

Re: Fehlermeldung: cannot redeclare readfile()

Post by cyberman »

Evtl. auch mal checken, ob die Seite gehackt wurde - bei readfile() gehen bei mir immer alle Alarmglocken an!
NaN

Re: Fehlermeldung: cannot redeclare readfile()

Post by NaN »

Wenn die Fehlermeldung lautet "Cannot redeclare... ", dann steht meistens auch dabei wo diese Funktion vorher deklariert wurde. ("previously declared in ...").
In folgenden Dateien wird diese Funktion deklariert bzw. aufgerufen (standard CMSms Installation):

/admin/loginstyle.php:
Line 30 :    readfile(dirname(__FILE__)."/themes/$theme/css/style.css");
Line 34 :    readfile(dirname(__FILE__)."/themes/default/css/style.css");

/admin/style.php:
Line 28 : readfile(dirname(__FILE__)."/themes/".$theme."/css/".$style);
Line 32 : readfile(dirname(__FILE__)."/themes/default/css/".$style);

/admin/tab.php:
Line 8 : readfile(dirname(__FILE__)."/themes/$theme/tab.css");
Line 10 : readfile(dirname(__FILE__)."/themes/default/tab.css");

/lib/misc.functions.php:
Line 1137 : if(!function_exists("readfile"))
Line 1139 : function readfile($filename)

/modules/MenuManager/action.importtemplate.php:
Line 27 : @readfile(dirname(__FILE__) . '/templates/' . $params['tplname']);

In allen anderen Dateien oder Zeilen (evtl. einige Module/Plugins ausgenommen) hat diese Funktion nichts zu suchen.
Um sicher zu gehen, dass alles mit rechten Dingen zugeht, würde ich den gesamten Webspace mal in ein lokales Verzeichnis herunterladen und mit einem Editor nach "readfile" in allen Dateien dieses Verzeichnisses suchen (Notepad++, jEdit, Dreamweaver o.ä. Editoren bieten da eine Funktion für).
Und dann mal mit meiner Liste hier vergleichen.
Edi
Forum Members
Forum Members
Posts: 21
Joined: Wed Sep 12, 2007 9:37 am

Re: Fehlermeldung: cannot redeclare readfile()

Post by Edi »

Ich hatte dasselbe Problem.

Der Grund dafür war, dass auf dem Server die Funktion readfile() aus Sicherheitsgründen deaktiviert wurde.
NaN

Re: Fehlermeldung: cannot redeclare readfile()

Post by NaN »

Konnte man das mit .htaccess umgehen oder hat Dein Provider die Einstellung selber ändern müssen?
Post Reply

Return to “German - Deutsch”