PHP Strict-Warning in class.filehandler.php

Fragen zur Installation von CONTENIDO 4.9? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
Antworten
dermicha
Beiträge: 95
Registriert: Mi 9. Dez 2009, 17:57
Kontaktdaten:

PHP Strict-Warning in class.filehandler.php

Beitrag von dermicha » Do 19. Nov 2015, 11:27

Hallo zusammen,

bei (wahrscheinlich ab) PHP 5.4 gibt es teilweise folgende Warnings (durch die auch große Log-Dateien enstehen können):

PHP Strict Standards: Only variables should be passed by reference in /......./contenido/classes/class.filehandler.php on line 481
PHP Strict Standards: Only variables should be passed by reference in /......./contenido/classes/class.filehandler.php on line 495

Wenn man Zeile 481 durch

Code: Alles auswählen

      $fileName = explode('/', $fileName);
		$name = end($fileName);
ersetzt und Zeile 495 durch

Code: Alles auswählen

      $fileName = explode('/', $fileName);
		return (strpos(end($fileName), ".") === 0);
gibt es die Meldung nicht mehr. Der Fehler entsteht, weil end den Parameter als Referenz übernimmt und daher nur echte Variablen erlaubt sind, nicht aber Rückgabewerte von Funktionen. Wäre schön, wenn es im Core korrigiert wird.

Grüße
Michael

dermicha
Beiträge: 95
Registriert: Mi 9. Dez 2009, 17:57
Kontaktdaten:

Re: PHP Strict-Warning in class.filehandler.php

Beitrag von dermicha » Mo 25. Jan 2016, 10:45

Kann sonst noch jemand diesen Bug bestätigen? Bei einer Installation mit PHP 5.6 tritt das gleiche Problem auf. Im Issue-Tracker scheint es noch nicht aufgenommen zu sein...

rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: PHP Strict-Warning in class.filehandler.php

Beitrag von rethus » Mo 25. Jan 2016, 17:30

Versuch es mal damit, die Ausgabe von "end()" erstmal an eine Variable zu geben:

Code: Alles auswählen

$fileName = explode('/', $fileName);
$fileName = (strpos(end($fileName), ".") === 0);
return $fileName;
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType

dermicha
Beiträge: 95
Registriert: Mi 9. Dez 2009, 17:57
Kontaktdaten:

Re: PHP Strict-Warning in class.filehandler.php

Beitrag von dermicha » Mo 25. Jan 2016, 18:15

Hallo rethus,

vielen Dank für Deine Antwort. Die Lösung hatte ich ja bereits dazugeschrieben. Ich würde mich nur freuen (wenn es ein auch von anderen nachvollziehbarer Fehler ist), wenn es im Core geändert würde... :D

Viele Grüße
Michael

frederic.schneider_4fb
Beiträge: 967
Registriert: Do 15. Apr 2004, 17:12
Wohnort: Eschborn-Niederhöchstadt
Kontaktdaten:

Re: PHP Strict-Warning in class.filehandler.php

Beitrag von frederic.schneider_4fb » Do 28. Jan 2016, 09:04

Mit welcher Version von CONTENIDO arbeitet Ihr? Wir haben die entsprechenden Code-Stellen bereits am 16. Dezember 2014 im Zuge des Tickets https://issues.contenido.org/browse/CON-1975 umgestellt, z. T. Euren Vorschlägen sogar nahezu entsprechend.

P. S.: Bei einem Test eben habe ich mit PHP 5.5 auch (folgerichtig) keine PHP-Strict-Meldungen provozieren können.
Frederic Schneider
Entwickler bei der four for business AG

dermicha
Beiträge: 95
Registriert: Mi 9. Dez 2009, 17:57
Kontaktdaten:

Re: PHP Strict-Warning in class.filehandler.php

Beitrag von dermicha » Do 28. Jan 2016, 14:11

Sorry, zu wenig Info meinerseits. Ich nutze ein eigenes Modul, dass unter anderem

cFileHandler::fileNameIsDot
cFileHandler::fileNameBeginsWithDot

verwendet (meines Wissens nicht deprecated?). Dort müssen aus meiner Sicht die Änderungen durchgeführt werden. Eingesetzte Version ist 4.9.8:

http://api.contenido.org/latest/source- ... ml#477-501

Mit dem Demo-Mandanten gibt es keine Warnings.

Antworten