moziloGB: Fehlermeldung nach Umstellung auf php 7.2

  • 14 Antworten
  • 931 Aufrufe
*

Offline rolinux

  • Mitglied
  • 664
moziloGB: Fehlermeldung nach Umstellung auf php 7.2
« am: 21. Oktober 2018, 11:52:30 »
Hallo,

nach der Umstellung meiner Homepage auf php 7.2 werden im moziloGB diese Fehlermeldungen ausgegeben:
Warning: A non-numeric value encountered in /data/web/1/000/016/977/21550/htdocs/rolf/plugins/moziloGB/index.php on line 273 (diese Meldung kommt mehrfach)

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; ShowEntries has a deprecated constructor in /data/web/1/000/016/977/21550/htdocs/rolf/plugins/moziloGB/ShowEntries.php on line 5 (diese Meldung kommt nur einmal)

Homepage: www.rolf-langmann.de
mozilo-Version: 2.0 ("Amalia") Revision 51

Gruß
Rolf
« Letzte Änderung: 21. Oktober 2018, 11:56:05 von rolinux »
"Vergiss nie, dass die Musik viel zu wichtig ist,
um sie ganz den Profis zu überlassen."
(Robert Fulghum, amerikanischer Philosoph)

*

Offline rolinux

  • Mitglied
  • 664
Re: moziloGB: Fehlermeldung nach Umstellung auf php 7.2
« Antwort #1 am: 19. November 2018, 09:11:21 »
Weiß niemand, wo das Problem liegt?
"Vergiss nie, dass die Musik viel zu wichtig ist,
um sie ganz den Profis zu überlassen."
(Robert Fulghum, amerikanischer Philosoph)

*

Offline marusti

  • Administrator
  • Mitglied
  • 344
Re: moziloGB: Fehlermeldung nach Umstellung auf php 7.2
« Antwort #2 am: 19. November 2018, 12:42:31 »
Die zweite Meldung ist die gleiche Meldung wie hier https://www.mozilo.de/forum/index.php/topic,4382.0.html
« Letzte Änderung: 19. November 2018, 12:47:53 von marusti »

*

Offline rolinux

  • Mitglied
  • 664
Re: moziloGB: Fehlermeldung nach Umstellung auf php 7.2
« Antwort #3 am: 28. November 2018, 11:56:03 »
Die zweite Fehlermeldung kommt jetzt nicht mehr. Warum auch immer. TermContent (Dein Link) wird ja da gar nicht verwendet.
Aber die andere Meldung mit Zeile 273 kommt immer noch.
"Vergiss nie, dass die Musik viel zu wichtig ist,
um sie ganz den Profis zu überlassen."
(Robert Fulghum, amerikanischer Philosoph)

*

Offline marusti

  • Administrator
  • Mitglied
  • 344
Re: moziloGB: Fehlermeldung nach Umstellung auf php 7.2
« Antwort #4 am: 28. November 2018, 12:07:15 »
TermContent (Dein Link) wird ja da gar nicht verwendet.
Ich meinte nur das die Fehlermeldung die Gleiche war wie in dem anderen Fall. Wenn sie nicht mehr erscheint noch besser.

*

Offline marusti

  • Administrator
  • Mitglied
  • 344
Re: moziloGB: Fehlermeldung nach Umstellung auf php 7.2
« Antwort #5 am: 29. November 2018, 21:38:20 »
Warning: A non-numeric value encountered in /data/web/1/000/016/977/21550/htdocs/rolf/plugins/moziloGB/index.php on line 273
Habe es bei mir lokal getestet und die Warnung für Zeile 279 erhalten. Welche Zeile ist bei dir 273?
Konnte es bei mir folgendermaßen lösen:
zwischen function help_makeRandomStr($i) { (bei mir Zeile 277) und $xyz = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; (bei mir Zeile 278) folgendes einfügen $i = 0;
Gesamte Funktion sieht daher bei mir jetzt so aus
function help_makeRandomStr($i) {
    $i = 0;
        $xyz = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
        $tmp = md5(microtime()+$i);
        $tmp = str_split($tmp);
        shuffle($tmp);
        return $xyz[(rand(0,(strlen($xyz) - 1)))].implode("",$tmp);
    }

*

Offline hausl78

  • Coder
  • Mitglied
  • 1268
Re: moziloGB: Fehlermeldung nach Umstellung auf php 7.2
« Antwort #6 am: 30. November 2018, 09:30:37 »
Das Problem ist das mircotime() einen String zurückgibt.

function help_makeRandomStr($i) {
    $i = 0;
        $xyz = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
        $tmp = md5(microtime()+$i);
        $tmp = str_split($tmp);
        shuffle($tmp);
        return $xyz[(rand(0,(strlen($xyz) - 1)))].implode("",$tmp);
}

echo help_makeRandomStr(5);
/*
Notice:  A non well formed numeric value encountered in ... on line 6
L880b6885578608bbf37f75ca9036d44a
*/

Somit könnte das so die Lösung sein microtime() ein true mit anzugeben.
function help_makeRandomStr($i) {
        $xyz = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
        $tmp = md5(microtime(true)+$i);
        $tmp = str_split($tmp);
        shuffle($tmp);
        return $xyz[(rand(0,(strlen($xyz) - 1)))].implode("",$tmp);
}
echo help_makeRandomStr(0); // keine Notivce mehr
« Letzte Änderung: 30. November 2018, 09:33:31 von hausl78 »

*

Offline rolinux

  • Mitglied
  • 664
Re: moziloGB: Fehlermeldung nach Umstellung auf php 7.2
« Antwort #7 am: 15. Dezember 2018, 11:20:11 »
Hallo Hausl,

das wars leider nicht.
Aber 273 ist bei mir genau die Zeile, in der die Funktion microtime aufgerufen wird.

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

*

Offline marusti

  • Administrator
  • Mitglied
  • 344
Re: moziloGB: Fehlermeldung nach Umstellung auf php 7.2
« Antwort #8 am: 17. Dezember 2018, 22:05:11 »
Hatte das eben nochmal angeschaut. Meine vorherige Lösung hat jetzt bei mir auch nicht mehr funktioniert. Habe aber etwas Neues gefunden und beim ersten Test funktioniert es bei mir auch

function help_makeRandomStr($i) {
        $xyz = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
        $tmp = md5(microtime() . $i);
        $tmp = str_split($tmp);
        shuffle($tmp);
        return $xyz[(rand(0,(strlen($xyz) - 1)))].implode("",$tmp);
    }

Kann das vielleicht mal jemand Testen?

*

Offline rolinux

  • Mitglied
  • 664
Re: moziloGB: Fehlermeldung nach Umstellung auf php 7.2
« Antwort #9 am: 23. Dezember 2018, 16:09:20 »
Hatte das eben nochmal angeschaut. Meine vorherige Lösung hat jetzt bei mir auch nicht mehr funktioniert. Habe aber etwas Neues gefunden und beim ersten Test funktioniert es bei mir auch

function help_makeRandomStr($i) {
        $xyz = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
        $tmp = md5(microtime() . $i);
        $tmp = str_split($tmp);
        shuffle($tmp);
        return $xyz[(rand(0,(strlen($xyz) - 1)))].implode("",$tmp);
    }

Kann das vielleicht mal jemand Testen?

Wenn ich das richtig gesehen habe, ist nur die Zeile mit dem 5 anders. Die habe ich ausgetauscht und bekomme jetzt eine andere Fehlermeldung im Gästebuch:
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; ShowEntries has a deprecated constructor in /data/web/1/000/016/977/21550/htdocs/rolf/plugins/moziloGB/ShowEntries.php on line 5
Da ich nicht weiß, welche Meldung schlechter ist, mache ich die Änderung mal wieder rückgängig.

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

*

Offline rolinux

  • Mitglied
  • 664
Re: moziloGB: Fehlermeldung nach Umstellung auf php 7.2
« Antwort #10 am: 23. Dezember 2018, 16:16:00 »
Und schöne Feiertage und alles Gute für 2019 Euch allen!
"Vergiss nie, dass die Musik viel zu wichtig ist,
um sie ganz den Profis zu überlassen."
(Robert Fulghum, amerikanischer Philosoph)

*

Offline marusti

  • Administrator
  • Mitglied
  • 344
Re: moziloGB: Fehlermeldung nach Umstellung auf php 7.2
« Antwort #11 am: 17. Januar 2019, 21:09:04 »
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; ShowEntries has a deprecated constructor in /data/web/1/000/016/977/21550/htdocs/rolf/plugins/moziloGB/ShowEntries.php on line 5Die Meldung wird aber aktuell auch schon angezeigt bei dir, sprich ohne den vorgeschlagenen Lösungsvorschlag. Welche Version des GB hast du installiert, 22? Meldung tritt bei mir weiterhin nicht auf. Falls es 22 ist: Versuch mal in der ShowEntries.php in Zeile 28 function __construct auf public function __construct ändern ob das einen Einfluss hat.


function help_makeRandomStr($i) {
        $xyz = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
        $tmp = md5(microtime() . $i);
        $tmp = str_split($tmp);
        shuffle($tmp);
        return $xyz[(rand(0,(strlen($xyz) - 1)))].implode("",$tmp);
    }
Das funktioniert bei mir als Fix für die anderen Meldungen.

*

Offline rolinux

  • Mitglied
  • 664
Re: moziloGB: Fehlermeldung nach Umstellung auf php 7.2
« Antwort #12 am: 22. Januar 2019, 15:18:38 »
Ist bei mir Revision 13. Dann muss ich wohl mal aktualisieren.
Wie mache ich das, ohne mein aktuelles Gästebuch zu verlieren?
"Vergiss nie, dass die Musik viel zu wichtig ist,
um sie ganz den Profis zu überlassen."
(Robert Fulghum, amerikanischer Philosoph)

*

Offline marusti

  • Administrator
  • Mitglied
  • 344
Re: moziloGB: Fehlermeldung nach Umstellung auf php 7.2
« Antwort #13 am: 24. Januar 2019, 16:28:27 »
Als erstes: Backup des Plugin Ordners anlegen.
Die Daten sind im Ordner data/name-deines-gb_db.php ('name-deines-gb' ist natürlich der Name deiner Datenbank). Die müsstest du nach der Aktualisierung wieder per FTP einspielen.

PS: Falls alle Lösungsvorschläge hier wieder erwartend nicht funktionieren: Der Autor des Plugins hatte seinerzeit eine PHP 7 Version bereit gestellt, hatte nur niemand nach geschaut :) https://github.com/stefanbe/moziloGB

*

Offline Thorstn

  • Administrator
  • Mitglied
  • 774
Re: moziloGB: Fehlermeldung nach Umstellung auf php 7.2
« Antwort #14 am: 24. Januar 2019, 17:14:40 »
Die Version des Gästebuch-Plugins auf der /media Seite ist seit Monaten "up to date", ich hatte die Plugins alle von Github geladen, sofern das möglich war.

Die Fehlermeldung bleibt ohne Eingriff aber bestehen (mozilo Rev. 51, PHP 7.2.12, Gästebuch Rev. 22). Durch den Vorschlag von Marusti konnte ich die Fehlermeldung entfernen.

Also in Zeile 279 folgendes:
$tmp = md5(microtime()+$i);
austauschen durch:
$tmp = md5(microtime() . $i);
Wenn das für die PHP-Profis unter Euch in Ordnung ist, ändere ich das im Gästebuch-Plugin (ZIP) auf der /media Seite für alle weiteren Downloads...
www.mad-it.de - Wir lösen keine Probleme. Wir machen sie.
moziloCMS-Layouts auf mozilo-layouts.thorstn.com
webdesign-ruhr.de - Webdesign aus Bochum