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 »

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: 4316
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: PHP 7.3

Beitrag von Oldperl »

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) 10357 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 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.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 »

Vielen Dank!

Keine Warnings oder ähnliches im Log?

Produktiv hat das also noch niemand laufen?

Viele Grüße

Michael
Oldperl
Beiträge: 4316
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: PHP 7.3

Beitrag von Oldperl »

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 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
bodil
Beiträge: 372
Registriert: Fr 7. Okt 2011, 04:10
Hat sich bedankt: 2 Mal
Danksagung erhalten: 7 Mal
Kontaktdaten:

Re: PHP 7.3

Beitrag von bodil »

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: 372
Registriert: Fr 7. Okt 2011, 04:10
Hat sich bedankt: 2 Mal
Danksagung erhalten: 7 Mal
Kontaktdaten:

Re: PHP 7.3

Beitrag von bodil »

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 »

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: 4316
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: PHP 7.3

Beitrag von Oldperl »

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 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
bodil
Beiträge: 372
Registriert: Fr 7. Okt 2011, 04:10
Hat sich bedankt: 2 Mal
Danksagung erhalten: 7 Mal
Kontaktdaten:

Re: PHP 7.3

Beitrag von bodil »

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: 4316
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: PHP 7.3

Beitrag von Oldperl »

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 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Faar
Beiträge: 1951
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Hat sich bedankt: 14 Mal
Kontaktdaten:

Re: PHP 7.3

Beitrag von Faar »

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 »

@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: 302
Registriert: Mo 17. Okt 2005, 20:26
Wohnort: Weimar
Kontaktdaten:

Re: PHP 7.3

Beitrag von lunsen_de »

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: 3213
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Hat sich bedankt: 4 Mal
Danksagung erhalten: 16 Mal
Kontaktdaten:

Re: PHP 7.3

Beitrag von xmurrix »

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: 302
Registriert: Mo 17. Okt 2005, 20:26
Wohnort: Weimar
Kontaktdaten:

Re: PHP 7.3

Beitrag von lunsen_de »

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