Neuigkeiten:

moziloCMS verwendet Cookies. Wenn Sie auf unserer Seite weitersurfen, stimmen Sie der Cookie-Nutzung zu Datenschutzerklärung
moziloCMS Layouts
moziloCMS Plugins

Hauptmenü

Plugin-Fehler auf lokalem XAMPP

Begonnen von rolinux, 05. Juli 2012, 20:26:03

« vorheriges - nächstes »

rolinux

Hallo,

ich habe heute XAMPP lokal installiert und dann die größte meiner Homepages reinkopiert.
Gleich auf der Startseite kommen über dem Seitenheader diese Meldungen vom countdown-Plugin:

ZitatNotice: Undefined offset: 0 in /opt/lampp/htdocs/bdc/plugins/countdown/index.php on line 250

Notice: Undefined offset: 1 in /opt/lampp/htdocs/bdc/plugins/countdown/index.php on line 250

Notice: Undefined offset: 1 in /opt/lampp/htdocs/bdc/plugins/countdown/index.php on line 248

Notice: Undefined offset: 1 in /opt/lampp/htdocs/bdc/plugins/countdown/index.php on line 248

Notice: Undefined offset: 1 in /opt/lampp/htdocs/bdc/plugins/countdown/index.php on line 248

Was ist da falsch? Was muss ich wie im XAMPP einstellen?

Gruß
Rolf
"Vergiss nie, dass die Musik viel zu wichtig ist,
um sie ganz den Profis zu überlassen."
(Robert Fulghum, amerikanischer Philosoph)

"Die Deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen.
Allerdings ist sie nicht Open Source, d.h. du sollst sie nicht verändern oder in veränderter Form veröffentlichen."
(Verfasser unbekannt)

ManfredB

#1
Hi,

Notice-Meldungen sind im xampp standardmäßig eingestellt. Das kann man (in einer Standard-XAMPP-Installation) ändern in der C:xamppphpphp.ini (in lampp evtl. /opt/lampp/php/php.ini):

error_reporting = E_ALL & ~E_NOTICE

... oder sofort komplett abschalten (dann findet man aber auch eigene Programmierfehler nicht mehr):
display_errors = Off

Anschließend den Apache neu durchstarten und die Meldungen sollten weg sein. Prinzipiell ist es aber ein ungenau programmiertes Plugin.

Gruß, ManfredB

rolinux

#2
Hmmm... hilft nicht...
Ich habe die php.ini auch nicht in dem genannten Verzeichnis sondern in /opt/lampp/etc.
XAMPP hat die Version 1.7.7.

Gruß
Rolf
"Vergiss nie, dass die Musik viel zu wichtig ist,
um sie ganz den Profis zu überlassen."
(Robert Fulghum, amerikanischer Philosoph)

"Die Deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen.
Allerdings ist sie nicht Open Source, d.h. du sollst sie nicht verändern oder in veränderter Form veröffentlichen."
(Verfasser unbekannt)

wasp

#3
Hmm, kommt mir bekannt vor - Ergänze mal in der Index.php vom Plugin -vor- allen zeitrelevanten Operationen wie mktime und time die sog. "date_default_timezone_set('Europe/Paris');" ... Denn Manfred hat recht, dem Plugin fehlt was, also besser Fehler und Hinweise nicht ausblenden sondern beheben...


            
# Ok, nun rechnen wir erstmal ein wenig rum, wieviele tage, Stunden, Minuten und Sekunden es denn noch sind zum Termin ...

            date_default_timezone_set('Europe/Paris'); /* ########## Ergänztes Zeitzonen-Init ###########  */

            # Hier wird aus dem Wunschdatum die Unixtime erzeugt
            $count_zielzeit = mktime($count_stunde,$count_minute,$count_sekunde,$count_monat,$count_tag,$count_jahr);
        
            
# Nun noch das aktuelle Datum im Unixformat berechnen
            $count_aktzeit = time();
 

Vllt. hilft es ja.

rolinux

#4
Ok, habbich eingebaut.
Nachdem ich dann noch das "$" vorne drangebastelt hab, kommt jetzt dieser Fehler:
ZitatNotice: Undefined variable: date_default_timezone_set in /opt/lampp/htdocs/bdc/plugins/countdown/index.php on line 142

Fatal error: Function name must be a string in /opt/lampp/htdocs/bdc/plugins/countdown/index.php on line 142
Ohne "$" passiert überhaupt nix, also jedenfalls nix anderes als ohne diese Ergänzung...

Gruß
Rolf
"Vergiss nie, dass die Musik viel zu wichtig ist,
um sie ganz den Profis zu überlassen."
(Robert Fulghum, amerikanischer Philosoph)

"Die Deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen.
Allerdings ist sie nicht Open Source, d.h. du sollst sie nicht verändern oder in veränderter Form veröffentlichen."
(Verfasser unbekannt)

hausl78

#5
Vermutung: so ca. bei Zeile 243 (siehe Fehlermeldung oben die Zeilennummer)

if 
($count_endtext == 0) {
    $returnvalue = $count_datumstring;
}
 elseif ($count_abgelaufen == 0) {
    $returnvalue = $count_textpre[0].$count_datumstring.$count_textpre[1];
}
 elseif ($count_abgelaufen == 1) {
    $returnvalue = $count_textpost[0].$count_datumstring.$count_textpost[1];
}
 
$count_textpre[0] und $count_textpre[1] und $count_textpost[0] und $count_textpost[1]sollen ausgegben werden, sind aber (teilweise) nicht gesetzt.

Schnelschuss-Fixing - hier runter getippt

Nach der Zeile hier - so ca. bei Nr. 243
# Ok, den Counter selbst haben wir zusammengeschustet, nun kommt das Finale, in dem wir den korrekten text in die Variable $returnvalue überführen      danach diese Zeilen hier einfügen:

// textpre
if (!isset($count_textpre[0])) $count_textpre[0] = "";
if (!isset($count_textpre[1])) $count_textpre[1] = "";
// textpost
if (!isset($count_textpost[0])) $count_textpost[0] = "";
if (!isset($count_textpost[1])) $count_textpost[1] = "";
 

Geht sicher eleganter, aber dafür hab ich grad wenig Zeit.

LG

rolinux

#6
Hallo Leute,

vielen Dank für Eure Hilfe! Ihr seid echt spitze! Ich bin's nicht...  :oops:
Hab 'nen Denkfehler gemacht. Nach der Änderung in der php.ini (siehe oben) muss man natürlich LAMPP neu starten... Ich Trottel!!!  :oops:

Hab grade nach der Chorprobe den PC nochmal angeworfen und LAMPP damit neu gestartet, und die ganzen Fehlermeldungen waren plötzlich weg... Natürlich... Grmpf...  :oops:

Aber vielleicht hilfts ja jemand anderem weiter...

Gruß
Rolf
"Vergiss nie, dass die Musik viel zu wichtig ist,
um sie ganz den Profis zu überlassen."
(Robert Fulghum, amerikanischer Philosoph)

"Die Deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen.
Allerdings ist sie nicht Open Source, d.h. du sollst sie nicht verändern oder in veränderter Form veröffentlichen."
(Verfasser unbekannt)

wasp

#7
@rolinux: Eine PHP-Funktion testweise via "$" zur Variable zu deklarieren, finde ich probierfreudig "sehr verwegen" - Bei allem pers. Bonus  :arrow:  :o  
Dennoch hätte ich gern -die- Lösung ... trampel!

Denn, de facto:

ZitatSince PHP 5.1.0 (when the date/time functions were rewritten), every call to a date/time function will generate a E_NOTICE if the timezone isn't valid, and/or a E_WARNING message if using the system settings or the TZ environment variable.
http://php.net/manual/de/function.date-default-timezone-set.php

 :arrow: WO liege ich falsch  :?:

p.s.: Notice / Error / Warnings wegblenden macht KEINEN SINN.

ZU: Ein -vollständiger- BrowserRESTART (ALLES/KEINE TABs) incl. CACHE

rolinux

#8
Zitat von: "wasp"@rolinux: Eine PHP-Funktion testweise via "$" zur Variable zu deklarieren, finde ich probierfreudig "sehr verwegen"
Sowas macht man vermutlich auch nur dann, wenn man von PHP nur weiß, dass es eine Scriptsprache ist...  :D

Ok, ich habe die Fehlermeldungen wieder eingeschaltet und stelle fest, dass der Code von Hausl das Problem anscheinend löst. Und komischerweise kommen diese Fehlermeldungen gleichzeitig beim Calendar-Plugin auch nicht mehr, obwohl ich daran nix geändert habe und die Seite, wo das eingebunden ist, auch das countdown-Plugin nicht enthält.

Gruß
Rolf
"Vergiss nie, dass die Musik viel zu wichtig ist,
um sie ganz den Profis zu überlassen."
(Robert Fulghum, amerikanischer Philosoph)

"Die Deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen.
Allerdings ist sie nicht Open Source, d.h. du sollst sie nicht verändern oder in veränderter Form veröffentlichen."
(Verfasser unbekannt)