Seite 1 von 1

Fehlermeldung in Systemvariablen

Verfasst: Di 22. Apr 2008, 19:32
von PatAddy
Hallo,

ich erhalten im Backend unter Systemvariablen diese Fehlermeldung angezeigt:

Invalid argument supplied for foreach() in /mnt/webspace/01/11871/ego4all.de/contenido/includes/functions.system.php on line 447

Was muss ich tun, damit sie verschwindet?

Viele Grüße

Petra

Verfasst: Di 22. Apr 2008, 19:41
von PatAddy
Hier mal ein Auszug aus den System-Variablen:
Variable Lokaler Wert
Contenido Version 4.8.1
Contenido Pfad /mnt/webspace/01/11871/ego4all.de/contenido/
Contenido HTML path ../contenido/
Contenido full HTML path http://www.ego4all.de/contenido/

Contenido frontend path /mnt/webspace/01/11871/ego4all.de
Contenido PHPLIB path /mnt/webspace/01/11871/ego4all.de/conlib/
Contenido wysiwyg path /mnt/webspace/01/11871/ego4all.de/contenido/external/wysiwyg/tinymce2/
Contenido wysiwyg HTML path http://www.ego4all.de/contenido/externa ... /tinymce2/
Host-Name www.ego4all.de
Browser path http://www.ego4all.de/contenido/
Mandanteninformationen Anzahl der installierten Mandanten1
Mandanten-Einstellungen Werte
Contenido Demo
Sprache(n) deutsch, english
HTML-Pfad http://www.ego4all.de/cms/
Frontend-Pfad /mnt/webspace/01/11871/ego4all.de/cms/

Anzahl Benutzer 1
Anzahl der Artikel 0
Server Betriebssystem Apache
PHP database extension mysql
Datenbankserver-Version 5.0.51a-standard
Installierte PHP-Version 5.2.5
safe_mode Aktiviert
magic_quotes_gpc Deaktiviert
magic_quotes_runtime Deaktiviert
gpc_order
memory_limit 64M
max_execution_time 30
Deaktivierte Funktionen highlight_file, diskfreespace, exec, passthru, system, shell_exec, popen, show_source, php_uname, ini_alter, ini_restore, getrusage, get_current_user, set_time_limit, getmyuid, getmypid, dl, leak, link, symlink
Gettext extension geladen
sql.safe_mode Deaktiviert
GD library Einstellungen Werte

include_path .:/mnt/webspace/01/11871/ego4all.de/pear/:/mnt/webspace/01/11871/php_includes

Verfasst: Mi 23. Apr 2008, 13:31
von xmurrix
Hallo,

anscheinend können in deinem Fall keine Informationen über die aktuelle GD Library ermittelt werden, was dann zu der Fehlermeldung führt. Das sollte eigentlich in der functions.system.php abgefangen werden.

Es wäre nicht schlecht, wenn die Library zur Verfügung steht, da die Features z. b. in de Dateiverwaltung für die Thumbnailerstellung benötigt werden.

Wenn du Zugriff auf die php.ini hast, sollest du es dort aktivieren (extension=php_gd2.so oder extension=gd.so) oder du erstellst im Verzeichnis /contenido/includes/ eine Datei mit der Bezeichnung "config.local.php" und schreibst den Code zum Nachladen der Library dort hinein.

Code: Alles auswählen

if (!extension_loaded('gd')) {
    if (!dl('gd.so')) {
        // Nicht gut, die GD Library konnte nicht geladen werden
    }
} 
Falls aber die GD Library geladen wird und der Fehler trotzdem kommt, kannst du die Fehlermeldung beheben, indem du in der /contenido/includes/functions.system.php vor die Zeile 447 folgendes eingibst:

Code: Alles auswählen

if (!is_array($gdLib)) {
    $gdLib = array();
}
Das ist keine elegante Lösung sollte aber die Fehlermeldung beheben.

Gruß
xmurrix

Verfasst: Mi 23. Apr 2008, 15:15
von timo.trautmann_4fb
Danke für die Bugmeldung.

Es reicht auch einfach vor
$gdLib = getPhpModuleInfo($moduleName = 'gd');
folgende Zeile einzufügen:
$gdLib = array();

Fix für das nächste Release existiert.

Verfasst: Mi 23. Apr 2008, 20:30
von PatAddy
Danke, für die Hinweise.

Hab' sie auch befolgt. Die Fehlermeldung hat sich trotzdem nicht aufgelöst. Ist nur eine Zeile weitergerutscht. ;-)

Warning: Invalid argument supplied for foreach() in /mnt/webspace/01/11871/ego4all.de/contenido/includes/functions.system.php on line 448

Verfasst: Do 24. Apr 2008, 09:24
von timo.trautmann_4fb
In der Datei functions.general.php habe ich ebenfalls nochmals die Variable als array initialisiert. Das Problem sollte somit jetzt aber behoben sein. :-)

Checkin.

Code: Alles auswählen

function getPhpModuleInfo($moduleName)
{
	$moduleSettings = array();

Verfasst: Do 24. Apr 2008, 14:07
von PatAddy
Jetzt kommt diese Fehlermeldung direkt beim Aufruf der Seite:

Parse error: syntax error, unexpected $end in /mnt/webspace/01/11871/ego4all.de/contenido/includes/functions.general.php on line 2413

Verfasst: Do 24. Apr 2008, 14:15
von PatAddy
Hab' gesehen, dass jetzt die beendende Klammer fehlte. :?

Jetzt kommt noch 'ne - meines Erachtens - schlimmere Meldung:

Fatal error: Cannot redeclare getphpmoduleinfo() (previously declared in /mnt/webspace/01/11871/ego4all.de/contenido/includes/functions.general.php:35) in /mnt/webspace/01/11871/ego4all.de/contenido/includes/functions.general.php on line 682

Es war doch richtig, dass ich deine o.a. Funktion einarbeite, oder?

Verfasst: Do 24. Apr 2008, 14:21
von Dodger77
PatAddy hat geschrieben:Es war doch richtig, dass ich deine o.a. Funktion einarbeite, oder?
Eher nicht. Nach

Code: Alles auswählen

function getPhpModuleInfo($moduleName)
{
(ca. Zeile 618) muss einfach die Zeile

Code: Alles auswählen

	$moduleSettings = array();
ergänzt werden.

Verfasst: Do 24. Apr 2008, 14:27
von PatAddy
Vielen, vielen Dank. Es funktioniert! :D :D :D