Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Fehlermeldung nach kompletter Neuinstallation
#1
Hallo,

ich habe kein Upgrade durchgeführt, sondern eine komplette Neuinstallation der Version 7.0 vorgenommen.
Vom "alten" Gästebuch hatte ich in der Datenbank die Tabelle mgb_entries gesichert und diese dann ins neue übertragen.
Nun habe ich ein 7er-Gästebuch mit allen alten Einträgen und es funktioniert soweit auch alles prima.

Auf zwei Seiten wird jetzt aber eine Fehlermeldung eingeblendet.
Das war schon direkt nach der Installation so und ist auch nach dem kopieren der alten mgb_entries-Tabelle in die Datenbank noch der Fall. Mit dieser Tabelle hat es also wohl nichts zu tun.

Eingeblendet wird diese Fehlermeldung:
Warning: Invalid argument supplied for foreach() in /www/htdocs/xxx/xxx/guestbook/includes/functions.inc.php on line 1669

Sie erscheint nach dem Absenden eines neuen Gästebucheintags oben auf der Seite, auf der die Meldung "Eintrag erfolgreich, sie werden gleich weitergeleitet" steht, und sie taucht auch in der Administration auf, wenn ich in der Konfiguration unter "Allgemein" etwas ändere und abspeichere. Nach dem Speichern erscheint diese Fehlermeldung dann oben am Rand.

Ich kann aber nirgendwo erkennen, dass etwas nicht so funktioniert wie es soll und im Gästebuch sind danach auch alle Einträge komplett und normal zu sehen. Auch wird in der Datenbank scheinbar alles wie gesollt eingetragen.

Was will mir diese Fehlermeldung sagen und wie kann ich sie bzw. den Fehler beheben?

So sieht der Bereich in der "functions.inc.php" aus.
Zeile 1669 ist darin diese hier: foreach(glob($path."*") as $filename) {

Code:
    // MGB_ERASE_CACHE
    // CREATED: 22.09.2013, 07:32
    // DESCR: ERASES ALL CACHE FILES IF NECESSARY

    if(!function_exists("mgb_erase_cache")) {
        function mgb_erase_cache($path) {
            foreach(glob($path."*") as $filename) {
                $count++;
                if($filename != "." && $filename != "..") {
                    if(file_exists($filename) AND !is_dir($filename) AND preg_match("/cache/", $filename)) {
                        unlink($filename);

Danke und Grüße,
Skippy/Martina
Zitieren
#2
Hmmm... kann ich Dir jetzt aktuell nicht sagen, was das genau für ein Fehler ist. Der ist bisher noch nicht aufgetreten. Darf ich fragen, welche PHP Version Du hast? Was mich wundert, ist, dass dieser Fehler nicht häufiger auftritt. Denn die gleiche foreach() Schleife ist auch für das Einlesen der Sprachen zuständig. Hast Du die Zwischenspeicherung (Caching) aktiviert?
Zitieren
#3
Ich habe jetzt noch mal genauer nachgeschaut und herumprobiert.
Die Fehlermeldung erscheint in der Konfiguration doch fast auf allen Seiten, wo man die Möglichkeit hat, etwas zu speichern.
Na einem Klick auf "speichern" ist sie am oberen Rand zu sehen.

Beim Eintragen eines Gästebucheintrags erscheint sie aber nur, wenn der Eintrag erfolgreich angenommen wurde.
Bei einem fehlerhaften Versuch (Sicherheitscode falsch, Pflichtfeld nicht ausgefüllt) kommt die Meldung nicht.

Die Sprachen werden alle korrekt angezeigt. Ich habe nun anklickbare Flaggen für die verschiedenen Sprachen auf der Website eingefügt und wenn ich die Gästebücher aufrufe, wird wie gewünscht die jeweils ausgesuchte Sprache verwendet.

Die PHP Version ist 5.3.18 und die Zwischenspeicherung (Caching) ist nicht aktiviert, die Einstellung steht dort von Anfang an auf "nein".
Zitieren
#4
Kannst Du diese Option mal probeweise aktivieren, dann die index.php aufrufen, und dann nochmal deaktivieren? Mal schauen, ob der Fehler dann immer noch auftritt. Denn so wie es aussieht, kommt der Fehler immer dann, wenn versucht wird, den Cache zu leeren. Dieser wird im Ordner "cache" des Gästebuches gespeichert. Eventuell könnte es auch sein, dass dieser nicht die nötigen Zugriffsrechte besitzt. Kannst Du das mit einem FTP Programm (wie FileZilla z.B.) überprüfen? Also welche Rechte dieser Ordner aktuell hat.
Zitieren
#5
Ich habe das mit dem Aktivieren und Deaktivieren des Zwischenspeichers probiert, aber das hat nicht geholfen.

Der Ordner "cache" hat die Zugriffsrechte 755.
Zitieren
#6
Also ich weiß echt nicht, wo der Fehler liegt, denn das scheint nur bei Dir aufzutreten. Ich habe jetzt ein bisschen recherchiert ob bei PHP 5.3.18 irgendwelche Probleme in Zusammenhang mit genannten Funktionen bekannt sind, aber nichts gefunden.

Bis ich die Lösung hierfür gefunden habe, kann ich Dir eigentlich nur eine Lösung anbieten. Du deaktivierst die Zwischenspeicherung (was Du ja anscheinend sowieso hast) und ersetzt in der functions.inc.php das hier
Code:
if(!function_exists("mgb_erase_cache")) {
        function mgb_erase_cache($path) {
            foreach(glob($path."*") as $filename) {
                $count++;
                if($filename != "." && $filename != "..") {
                    if(file_exists($filename) AND !is_dir($filename) AND preg_match("/cache/", $filename)) {
                        unlink($filename);
                    }
                }
            }
        }
    }
mit dem hier
Code:
if(!function_exists("mgb_erase_cache")) {
        function mgb_erase_cache($path) {
            /* foreach(glob($path."*") as $filename) {
                $count++;
                if($filename != "." && $filename != "..") {
                    if(file_exists($filename) AND !is_dir($filename) AND preg_match("/cache/", $filename)) {
                        unlink($filename);
                    }
                }
            } */
        }
    }
Das kommentiert die betreffende Stelle aus, und verhindert, dass Du weiterhin den Fehler angezeigt bekommst. Mehr kann ich im Moment dazu leider nicht sagen. Tut mir leid.
Zitieren
#7
Danke soweit schon mal.
Ich habe das nun so gemacht, die Meldung ist verschwunden, und das Gästebuch funktioniert weiterhin trotzdem einwandfrei.

Mir ist eingefallen, dass ich bei der Installation kurz eine Fehlermeldung hatte. Beim Ausführen der install.php kam der Hinweis, dass die Dateiattribute des Ordners "Includes" auf 755 stehen müssen. Das taten sie aber.
Ich habe sie dann auf 777 gesetzt, auch für die Unterverzeichnisse, und danach lief die Installaton normal bis zur "Erfolgsmeldung" durch.

Hat es damit vielleicht etwas zu tun?
Zitieren
#8
Hallo Jürgen,

auch ich hatte dieses Problem nach dem Update auf die 0.7er Version.
Aber mit Deinem Tipp hat es nun auch bei mir funktioniert.

Vielen Dank.
Gruß Jörg
Zitieren
#9
Hallo,
wollte nur kurz melden, dass ich die gleiche Fehlermeldung bekomme, sobald ich im Admin-Teil eine Konfigurationsänderung speichern will. Ich arbeite mit PHP 5.5.5.
Habe nun wie vorgeschlagen die Funktionen mgb_erase_cache() auskommentiert.
Gruss - AnyOne
Zitieren
#10
Hmmm... könnt Ihr bitte mal folgendes ausprobieren? Ersetzt
Code:
foreach(glob($path."*") as $filename) {
mit
Code:
foreach(glob($path."*.html") as $filename) {
und testet, ob die Fehlermeldung dann immer noch kommt. Danke!
Zitieren
#11
Hallo Jürgen,

auch Dein neuer Tipp bringt bei mir nicht den gewünschten Erfolg, die Fehlermeldung bleibt bestehen.
Ich habe daher nun wieder Deinen ersten Tipp mit der Deaktivierung der Zwischenspeicherung verwendet.

Serverkonfiguration: PHP: 5.2.12-nmm4 | MySQL: 5.1.70 |

Übrigens ein dickes Lob, Deine neue Spamabwehr funktioniert sehr zuverlässig!

Gruß Jörg
Zitieren
#12
Hallo

Ich habe nach der Neuinstallation der Version MGB 0.7 den gleichen Fehler

Warning: Invalid argument supplied for foreach() in /webspace/XX/XXXXX/meinedomain.de/includes/functions.inc.php on line 1669

bei Änderungen im Adminbereich.

Ich habe die functions.inc.php wie vorgeschlagen abgeändert, nun ist alles O.K..

Serverkonfiguration: PHP: 5.4.24| MySQL: 5.0.10|

Gruß
Schowill
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Gravatare wandern nach links Yogilein 2 4.060 15.02.2018, 18:35:37
Letzter Beitrag: mopzz
  Umlaute Fehler nach Update fabian86 13 127.887 02.06.2016, 17:51:54
Letzter Beitrag: kanaljupp
  Fehlermeldung mgb-user-1 4 5.206 07.10.2015, 19:11:27
Letzter Beitrag: mopzz
  Umlautproblem nach Umstellung auf PHP 5.6 Yogilein 12 13.457 15.06.2015, 19:22:26
Letzter Beitrag: Yogilein
  index.php Seite ist leer nach Udpade dienheimer 8 7.896 03.02.2015, 19:38:57
Letzter Beitrag: mopzz
  Fehlermeldung bei Installation Mephos 1 3.505 13.06.2014, 19:39:03
Letzter Beitrag: mopzz
  Fehlermeldung beim Versand der Aktivierungs-E-Mail AnyOne 7 7.751 16.04.2014, 23:23:36
Letzter Beitrag: AnyOne
  Fehler bei der Anmeldung nach Upgrade frankie 6 5.615 02.11.2013, 19:32:26
Letzter Beitrag: mopzz

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste