moziloCMS 2.0 neuer Fehler unter PHP 4.7.8

  • 2 Antworten
  • 761 Aufrufe
*

Offline laborix

  • Betatester
  • Mitglied
  • 376
moziloCMS 2.0 neuer Fehler unter PHP 4.7.8
« am: 13. August 2020, 17:53:18 »
Hallo,

wenn man die aktuelle Mozilo 2.0 Github (Dezember 2019) mit PHP 4.7.1 Patch, siehe meinen Beitrag mit PHP 7.4.1 Fehler hier im Forum
https://www.mozilo.de/forum/index.php/topic,4448.0.html

unter PHP 7.4.8 einem Stresstest unterzieht, kommt folgender Fehler:

Zitat
PHP Notice: file_get_contents(): read of 8192 bytes failed with errno=13 Permission denied in /htdocs/mozilo20rev51/cms/Properties.php on line 38

Das lässt sich lösen indem man die Zeile 38 wie folgt ändert:

Original Zeile 38:
if(false === ($conf = file_get_contents($this->file)))
   die("Fatal Error Can't read file: ".basename($this->file));

Ersetzen mit folgenden Zeilen:
$conf = "";
$conf = file_get_contents($this->file);
if (false === $conf)
  die("Fatal Error Can't read file: ".basename($this->file));

Kann das jemand von den Administratoren/Entwicklern anpassen und ins Github stellen?

@Marusti
Hast du Zugriff auf das Github oder geht das nur über den "hausl" Login/Kontakt?

Vielen Dank :D
Laborix

*

Offline laborix

  • Betatester
  • Mitglied
  • 376
Re: moziloCMS 2.0 neuer Fehler unter PHP 4.7.8
« Antwort #1 am: 14. August 2020, 17:31:33 »
Die oben genannte Korrektur der Zeile 38 löst das Problem leider nicht  :-\  Wiederholt man den Stresstest mehrmals hintereinander kommt der Fehler oder auch nicht.

Die neue Lösung sieht so aus:

Original Zeile 38:
if(false === ($conf = file_get_contents($this->file)))
   die("Fatal Error Can't read file: ".basename($this->file));

Ersetzen mit folgenden Zeilen:
$conf = "";
       
$testfile = $this->file;
$pos = 0;
$pos = strpos($testfile, ".conf.php");
if ($pos > 0) {
  $conf = file_get_contents($this->file);
}

if (false === $conf)
  die("Fatal Error Can't read file: ".basename($this->file));

Das ist sehr interessant, es wird einfach etwas in die Anfrage eingeschleust und man muss wirklich die Übergabeparameter explizit überprüfen  ::)

*

Offline laborix

  • Betatester
  • Mitglied
  • 376
Re: moziloCMS 2.0 neuer Fehler unter PHP 4.7.8
« Antwort #2 am: 19. September 2020, 11:07:49 »
Und nun zum dritten Mal, Korrektur notwendig  :(

Nach ausgiebigen Tests in verschiedenen Umgebungen taucht der oben genannte Fehler immer wieder auf, wenn mehrere Zugriffe gleichzeitig stattfinden. Beispiel: Benutzer ist angemeldet, 10 - 20 Besucher gleichzeitig und Stresstest.

Original Zeile 38:
if(false === ($conf = file_get_contents($this->file)))
   die("Fatal Error Can't read file: ".basename($this->file));

Ersetzen mit folgenden Zeilen:
if(false === ($conf = @file_get_contents($this->file)))
   die("Fatal Error Can't read file: ".basename($this->file));

Bitte ein "@" vor dem Befehl "file_get_contents()" hinzufügen. Somit wird die Fehlermeldung unterdrückt, aber das Problem besteht weiterhin.

Noch als Info:
Die "@"-Lösung wird auch in einigen anderen PHP-Projekten genutzt.