PHP 7.3

Fragen zur Installation von CONTENIDO 4.10? 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 7.3

Beitrag von dermicha » Mi 4. Sep 2019, 17:51

Hallo zusammen,

da ich bisher nichts explizites finden konnte: läuft die 4.10 auch unter PHP 7.3 ohne Probleme? Hat das schon jemand so produktiv im Einsatz?

Vielen Dank

Michael

Oldperl
Beiträge: 4250
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Re: PHP 7.3

Beitrag von Oldperl » Do 5. Sep 2019, 15:07

Servus,

hab ich hier lokal laufen:
CONTENIDO_4.10.0_2019-09-05_15.59.52.jpg
CONTENIDO_4.10.0_2019-09-05_15.59.52.jpg (22.31 KiB) 6405 mal betrachtet
Bisher habe ich noch keine Probleme gehabt, wobei da natürlich der tägliche Gebrauch fehlt und ich auch noch nicht in allen Bereichen gearbeitet habe.

Gruß aus Franken

Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog

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

Re: PHP 7.3

Beitrag von dermicha » Do 5. Sep 2019, 15:29

Vielen Dank!

Keine Warnings oder ähnliches im Log?

Produktiv hat das also noch niemand laufen?

Viele Grüße

Michael

Oldperl
Beiträge: 4250
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Re: PHP 7.3

Beitrag von Oldperl » Do 5. Sep 2019, 15:36

Servus,

nein, da ich eher mit meiner ConLite arbeite, um diese weiter für PHP 7.3 zu optimieren. Sorry... :roll:

PS: Gerade hatte ich ein Problem mit dem Teaser-Modul, kann keine Artikel im manuellen Tab hinzufügen unter PHP 7.3. Keine Ahnung ob das wirklich an PHP liegt, dazu muss ich 4.10 erst mal unter anderen Versionen von PHP vergleichen.

Gruß aus Franken

Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog

bodil
Beiträge: 340
Registriert: Fr 7. Okt 2011, 04:10
Kontaktdaten:

Re: PHP 7.3

Beitrag von bodil » Fr 6. Sep 2019, 12:06

Diese Problem hatte ich bisher nur unter 7.3. Allerdings betreue ich nur diese eine Seite mit PHP 7.3, kann daher nicht einschätzen, ob es da wirklich einen Zusammenhang gibt:
viewtopic.php?f=118&p=180175#p180174

bodil
Beiträge: 340
Registriert: Fr 7. Okt 2011, 04:10
Kontaktdaten:

Re: PHP 7.3

Beitrag von bodil » Fr 6. Sep 2019, 17:42

Den Zusammenhang scheint es tatsächlich zu geben:
https://ayesh.me/Upgrade-PHP-7.3#pcre2

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

Re: PHP 7.3

Beitrag von rethus » Mi 11. Sep 2019, 08:55

Gerade Testweise eine 4.12 auf PHP 7.3 aktualisiert, und einige Fehler um die Ohren gehauen bekommen.

Vorwiegend waren das Deprecated Messages von PHP selbst, das "each()" deprecated ist, oder dass "count(): Parameter must be an array or an object that implements Countable". Zumindest 1x each() und 1xcount gingen von Contenido-Core-Dateien aus.

Wegen mangelnder Zeit bin ich dann erstmal auf 7.1 zurück.
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

Oldperl
Beiträge: 4250
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Re: PHP 7.3

Beitrag von Oldperl » Do 12. Sep 2019, 09:27

Servus,
rethus hat geschrieben:
Mi 11. Sep 2019, 08:55
Gerade Testweise eine 4.12 auf PHP 7.3 aktualisiert...
Wo hast Du die denn her? :wink:
Und wo kann ich diese 4.12 herunterladen? :lol:

Gruß aus Franken

Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog

bodil
Beiträge: 340
Registriert: Fr 7. Okt 2011, 04:10
Kontaktdaten:

Re: PHP 7.3

Beitrag von bodil » Do 12. Sep 2019, 12:25

Was mir noch aufgefallen ist:
Mein einens CMS mit Contenido 4.10.0 und PHP 7.3 liefert vor allem auf der Startseite diesen Fehler, den ich vor dem Update noch nicht gesehen habe (und auch sonst von keinem System kenne):

Code: Alles auswählen

[11-Sep-2019 18:11:21 Europe/Berlin] PHP Warning:  Invalid argument supplied for foreach() in [...]/contenido/classes/class.session.php on line 226
Der Fehler tritt in derselben Sekunde immer dreifach auf.
Da die Seite trotzdem läuft, habe ich hier noch nicht geforscht.

Oldperl
Beiträge: 4250
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Re: PHP 7.3

Beitrag von Oldperl » Do 12. Sep 2019, 15:15

siehe :arrow: https://thisinterestsme.com/invalid-arg ... r-foreach/

Und dieser Fehler ist bei vielen Systemen bekannt, nur meist schon behoben. Einfach mal Tante G fragen.

Gruß aus Franken

Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: PHP 7.3

Beitrag von Faar » Fr 13. Sep 2019, 09:18

Oldperl hat geschrieben:
Do 12. Sep 2019, 15:15
Und dieser Fehler ist bei vielen Systemen bekannt, nur meist schon behoben. Einfach mal Tante G fragen.
Und nicht nur bei Arrays, denn letzte Woche fand ich in einem käuflichen Wordpress-Theme :? einen Aufruf eine Funktion, die von einem anderen Plugin bereit gestellt wird, ohne mit if(function_exists()) zu prüfen, ob die Funktion überhaupt da ist.
PHP macht dann einen fatalen Fehler daraus und stoppt.
Kommt gut bei Themes die Geld kosten :motz:

Die Annahme, es wird schon ein Wert in einer Variablen sein oder ein Array oder eine Funktion vorhanden, ist ein häufiger Fehler bei Programmierern.
Quick&Dirty :roll:
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

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

Re: PHP 7.3

Beitrag von rethus » Mi 1. Jan 2020, 16:00

@bodil: Ist ein Bug in der class.session.php. Wie du es fixt, siehe hier: viewtopic.php?f=115&t=43479&p=180678#p180678
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

lunsen_de
Beiträge: 297
Registriert: Mo 17. Okt 2005, 20:26
Wohnort: Weimar
Kontaktdaten:

Re: PHP 7.3

Beitrag von lunsen_de » Sa 19. Dez 2020, 13:03

Hallo, da sich meine errorlog auch sehr schnell füllt mit:

Code: Alles auswählen

PHP Warning:  Invalid argument supplied for foreach() in ...../contenido/classes/class.session.php on line 226
habe ich den Beitrag
@bodil: Ist ein Bug in der class.session.php. Wie du es fixt, siehe hier: viewtopic.php?f=115&t=43479&p=180678#p180678
gelesen.
Allerdings wurde da geschrieben, dass davon abgeraten wird dieses Patch zu verwenden.

Ich verwende 4.10.1 mit PHP 7.3.25.
Hat denn jemand eine empfohlene Lösung um den Eintrag zu unterbinden oder Erfahrung mit dem Patch?

Grüß lunsen_de

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: PHP 7.3

Beitrag von xmurrix » So 20. Dez 2020, 20:26

Hallo lunsen_de,
...Hat denn jemand eine empfohlene Lösung um den Eintrag zu unterbinden oder Erfahrung mit dem Patch?...
Man müsste erst einmal herausfinden, was genau diese Fehlermeldung verursacht.

Der Fehler in class.session.php on line 226 sollte nicht vorkommen, da eine Zeile zuvor die Variable $l mittels eval() als eine Liste definiert und befüllt wird. Daher ist zu klären, warum die Variable $l eine Zeile später auf einmal keine Liste sein soll.

Code: Alles auswählen

...
                eval("\$l = array(); foreach(\$$var as \$k => \$v) {\$l[] = array(\$k,gettype(\$k),\$v);}");
                foreach ($l as $item) {
...
Beim Speichern der Session in CONTENIDO wird mit statischen Variablen und der Funktion eval() gearbeitet. Vermutlich ist die Kombination von beidem unter einer gewissen Konstellation (PHP Version, Zend Optimizer, IonCube, usw.) die Ursache für den Eintrag in der errorlog.txt.

Dass der Patch nicht ideal zu sein scheint, wurde im Beitrag entsprechend angemerkt. Vermutlich löst es das Problem, allerdings sollte man das gründlich testen. Bei mir ist der Fehler bisher noch nie aufgetaucht, daher habe ich auch keine Erfahrungsberichte dazu.

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

lunsen_de
Beiträge: 297
Registriert: Mo 17. Okt 2005, 20:26
Wohnort: Weimar
Kontaktdaten:

Re: PHP 7.3

Beitrag von lunsen_de » Di 22. Dez 2020, 08:58

Hallo, ich konnte das Problem jetzt identifizieren und die Fehlermeldung beseitigen.

Es war nicht ganz einfach es zu finden, hängt aber mit dem Systemwechsel (neue Webseite) und desn verwendeten Domains zusammen.

Kunde hatte eine Webseite auf Domain1.de mit Contenido 4.8.19 (PHP 5.6).
Jetzt wurde eine neue Seite erstellt mit Contenido 4.10.1 (PHP 7.3). Zudem hat sich der Kunde für eine neue Domain entschieden (Domain2.de).
Domain1.de hatte also die PHP Einstellung PHP 5.6 und die neue Domain2.de die Einstellung PHP 7.3.
Als wir die neue Seite aktiv geschaltet haben, löste also die neue Domain2.de auf das Root Verzeichnis auf, aber ebenso auch noch die alte Domain1.de.

Und genau da wurde die Fehlermeldung produziert. Beim Aufruf der alten Domain, z.B. über Google Einträge, wurde die Startseite geladen (also falsche baseref in dem Fall). Erst bei einem Klick auf z.B. die Navigation sprang die Seite auf die neue Domain.

Scheinbar führt der Aufruf der Seite über eine Domain mit veralteter PHP Version zu der Fehlermeldung.

Nachdem ich die alten Domains nicht mehr auf Root auflösen lies und diese weitergeleitet habe auf die neue Domain, waren die Fehlermeldungen verschwunden. Entdecken konnte ich das Verhalten erst nach Studium der Accesslogs und Abgleich der Zeiten der Fehlermeldung.

Grüße lunsen_de

PS: Vielleicht kann sich nochmal jemand mein Problem (Bug) beim Newsletter anschauen (Newsletter Probleme), da bin ich noch nicht weitergekommen.

Antworten