Fehlermeldung: Invalid argument supplied ... module.inc
am 13.07.2012 - 16:36 Uhr in
Beim Umschalten von Themes und der Konfiguration von Modulen bekomme ich sehr oft Fehlermeldungen wie folgende:
Beispiel 1 (Umschalten von bartik auf ein Blanko-Theme): ungefähr 20 mal
Warning: Invalid argument supplied for foreach() in drupal_alter() (Zeile 1000 von /xxx/includes/module.inc).
Beispiel 2 (WYSIWYG-Modul, CK-Editor bearbeiten und nur IMCE aktiviert): ungefähr 20 mal
Warning: Invalid argument supplied for foreach() in drupal_alter() (Zeile 1000 von /xxx/includes/module.inc).
und zwischendurch 3 mal:
Warning: call_user_func_array() [function.call-user-func-array]: First argument is expected to be a valid callback, '' was given in theme_get_registry() (Zeile 276 von /xxx/includes/theme.inc).
IMCE ist danach aktiv. Es scheint alles i.O. Die Fehlermeldungen wiederholen sich nach jeder Bearbeitung der Einstellungen im WYSIWYG-Modul
Das Media-Modul läßt sich erst gar nicht aktivieren. Stattdessen verreckt Drupal gleich komplett und die einzige Ausgabe ist:
Warning: Invalid argument supplied for foreach() in /xxx/includes/module.inc on line 1000
Vieles dreht sich also um die Zeile 1000 von module.inc. Manchmal sind auch andere Zeilen betroffen. Und immer wird bemängelt, daß das übergebende Argument kein Array ist. Hier die Zeilen 1000-1002:
foreach ($base_theme_info as $base) {
$theme_keys[] = $base->name;
}
Ich bin ja fast soweit das ganze Konstrukt in ein if(is_array($base_theme_info)) zu packen, damit endlich die Warnungen verschwinden und ich wieder entspannt arbeiten kann. Aber das ist sicher nicht im Sinne der Entwickler. Weiß jemand noch eine Lösung? Das Problem gibt es ja schon länger, wie ich beim Googlen gesehen habe.
- Anmelden oder Registrieren um Kommentare zu schreiben
Hast du nach dieser
am 13.07.2012 - 16:44 Uhr
Hast du nach dieser Fehlermeldung denn schon einmal bei Google gesucht ?
http://drupal.org/node/944028#comment-3645090
Appears to be caused by having PHP setting register_globals = On when Drupal requires it set to Off.
Diese Einstellung lässt sich im Normalfall nur durch den Serverbetreiber / Webhoster einstellen.
Wäre ein Ansatz um zu schauen, ob man den Fehler auf diese Weise beheben kann..
Weitere Systemvorraussetzungen für Drupal findest du hier:
http://drupal.org/requirements/
SteffenR
Da ist mir einer auf die
am 13.07.2012 - 17:00 Uhr
Da ist mir einer auf die Schliche gekommen....
Ich habe Drupal auf unserem/meinem Server installiert und mußte dafür register_globals kurz ausschalten - sonst wäre die Installation nicht möglich gewesen. Weil die anderen Projekte aber register_globals brauchen, habe ich es nach der Installation (auf einer Subdomain) wieder aktiviert. Ich wußte nicht das es solche Auswirkungen hat.
Lokal (XAMPP 1.7.7 mit PHP 5.3.8) sind die register_globals auf off. Allerdings benutze ich hier wegen der besseren Handhabbarkeit SQLite. Das hat mir auch schon Fehlermeldungen eingebracht. Ich glaube das waren aber SQL-Fehler bei irgendwelchen Modulen. Deswegen habe ich auf dem Server auch MySQL gewählt - aber eben mit register_globals = on.
Jetzt werde ich mal versuchen das WYSIWYG-Modul, den CK oder TinyMCE und das Media-Modul lokal zu installieren. Sollte es dort zu den o.g. Fehlermeldungen nicht kommen, bin ich Dir schon mal für den Tip dankbar!
Für den Test auf dem Online-Server muß ich mir dann was einfallen lassen, wie z.B. eine ungenutzte Domain mit eigener php.ini nutzen. Oder ich bekomme irgendwie unter der Subdomain eigene Einstellungen gebacken.
Problem gelöst
am 13.07.2012 - 17:43 Uhr
Ich habe eine Kopie der php.ini das Hauptverzeichnis von Drupal kopiert und register_globals = off gesetzt. Danach waren die Fehlermeldungen weg. Hat also auch ohne Domain-Hopping geklappt. Danke!