[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Redaxo 4.7 / PHP 7 - Ausgabe "REX_VALUE[10]" und höher falsch - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
snoops
Beiträge: 3
Registriert: 13. Sep 2017, 14:33

Redaxo 4.7 / PHP 7 - Ausgabe "REX_VALUE[10]" und höher falsch

13. Sep 2017, 14:48

Hallo, bin neu hier - hoffe ich bin hier richtig.
ich habe ein paar Websites mit Redaxo 4.6.X gebaut und update diese jetzt auf 4.7.2 unter PHP 7 (Neuinstallation mit Import der "alten" Daten).

Folgendes Problem:
REX_VALUE[1] bis REX_VALUE[9] werden in meinen Modulen korrekt ausgegeben
REX_VALUE[10] bis REX_VALUE[20] nicht.
REX_VALUE[10] bis REX_VALUE[19] geben alle den Wert von REX_VALUE[1] aus,
REX_VALUE[20] den Wert von REX_VALUE[2]...

Hat jemand irgendeine Idee woran das liegen kann? Vielen Dank schon mal

greyhound
Beiträge: 72
Registriert: 30. Mai 2011, 12:52

Re: Redaxo 4.7 / PHP 7 - Ausgabe "REX_VALUE[10]" und höher falsch

21. Sep 2017, 12:58

Ich habe dasselbe Fehlverhalten auf einer R4.6.2 mit PHP 7.1. Die Seite läuft überhaupt nur noch, weil Strato zusätzlich das mysql-Modul in PHP7 lädt.

Kann jemand dazu eine Meinung abgeben? Die Speicherung in rex_article_slice funktioniert, jedoch bei der Blockausgabe werden die Wert-Variablen nicht korrekt ersetzt..

Es grüßt
Alex

Benutzeravatar
Gregor.Harlan
Entwickler
Beiträge: 1130
Registriert: 4. Jun 2007, 10:35
Wohnort: Frankfurt am Main

Re: Redaxo 4.7 / PHP 7 - Ausgabe "REX_VALUE[10]" und höher falsch

21. Sep 2017, 13:34

Ich kann das Problem hier mit PHP 7.1 und Rex 4.7.2 nicht nachvollziehen.

Ich kann anbieten, mir das auf einer eurer Seiten mal anzuschauen und das Problem zu suchen. Dafür bräuchte ich aber Redaxo- und FTP-Zugang (per PN oder über Slack).

@Alex: Redaxo 4.7 benötigt das mysql-Modul nicht mehr. Redaxo 4.6 hatte, soweit ich weiß, auch noch andere Probleme mit PHP 7, daher würde ich dir empfehlen, auf 4.7 zu aktualisieren, auch wenn bei strato das mysql-Modul mit in php 7 drin ist und somit die 4.6 scheinbar soweit läuft.
Friends Of REDAXO: Gemeinsame REDAXO-Entwicklung!

greyhound
Beiträge: 72
Registriert: 30. Mai 2011, 12:52

Re: Redaxo 4.7 / PHP 7 - Ausgabe "REX_VALUE[10]" und höher falsch

21. Sep 2017, 14:28

Gregor.Harlan hat geschrieben:
21. Sep 2017, 13:34
Ich kann anbieten, mir das auf einer eurer Seiten mal anzuschauen und das Problem zu suchen. Dafür bräuchte ich aber Redaxo- und FTP-Zugang (per PN oder über Slack).
Danke für das Angebot, ich habe Dir die entsprechenden Daten per Slack geschickt.

Benutzeravatar
Gregor.Harlan
Entwickler
Beiträge: 1130
Registriert: 4. Jun 2007, 10:35
Wohnort: Frankfurt am Main

Re: Redaxo 4.7 / PHP 7 - Ausgabe "REX_VALUE[10]" und höher falsch

22. Sep 2017, 00:38

Nachdem ich mir das nun angeschaut habe, behaupte ich, dass es ein Bug in der für PHP 7 portierten mysql-Extension ist.
Die Funktion mysql_result() liefert das falsche Ergebnis.

Dies war mein Testcode im Modul:

Code: Alles auswählen

$sql = rex_sql::factory();
$sql->setQuery('SELECT value1, value10 FROM rex_article_slice WHERE id = REX_SLICE_ID');
var_dump(mysql_result($sql->result, 0, 'value10'));
Da kommt bereit der Wert von value1 raus. Wenn man aus der Query aber value1 ganz rausnimmt, dann erhält man korrekt den Wert von value10.

Kann man diese portierte mysql-Extension irgendwo ausschalten bei strato? Falls ja, würde ich das mal ausprobieren, geht dann aber natürlich nur mit Rex 4.7, weil nur dort eine Shim-Klasse drin ist, die die mysql-Funktionen anbieten (wenn nicht vorhanden) und intern dann mysqli verwendet.
Wenn aber die mysql-Funktionen doch schon vorhanden sind, so wie hier bei strato, dann werden auch die vorhandenen genutzt.
Friends Of REDAXO: Gemeinsame REDAXO-Entwicklung!

greyhound
Beiträge: 72
Registriert: 30. Mai 2011, 12:52

Re: Redaxo 4.7 / PHP 7 - Ausgabe "REX_VALUE[10]" und höher falsch

26. Sep 2017, 09:46

Hallo Gregor,

danke für die Infos. Zunächst habe ich auf 4.7 geupdatet, der Fehler ist weiterhin aktiv.

Nach Aussage des Strato-Supports läßt sich diese spezielle PHP-Konfiguration nicht ändern, siehst Du eine Möglichkeit, die interne Nutzung von mysqli in R4.7 zu forcieren, auch wenn die alten Funktionen zur Verfügung stehen?

Welche Klasse ist dafür verantwortlich?

Es grüßt
Alex

Benutzeravatar
Gregor.Harlan
Entwickler
Beiträge: 1130
Registriert: 4. Jun 2007, 10:35
Wohnort: Frankfurt am Main

Re: Redaxo 4.7 / PHP 7 - Ausgabe "REX_VALUE[10]" und höher falsch

26. Sep 2017, 16:59

Nein sehe da nicht wirklich eine Möglichkeit.

Dies ist die Klasse: https://github.com/redaxo/redaxo4/blob/ ... /mysql.php
Bzw. hier liegt das Paket: https://github.com/dshafik/php7-mysql-shim

Hast du den Support auch gefragt, ob denen da ein Bug bekannt ist?
Dass wenn in der Query "value1" und "value10" abgefragt wird, mysql_result($result, 0, 'value10') den Wert von value1 liefert.
Friends Of REDAXO: Gemeinsame REDAXO-Entwicklung!

snoops
Beiträge: 3
Registriert: 13. Sep 2017, 14:33

Re: Redaxo 4.7 / PHP 7 - Ausgabe "REX_VALUE[10]" und höher falsch

27. Sep 2017, 13:14

Hallo und schon mal vielen Dank für die Rückmeldungen.
Ich habe eben eine entsprechende Anfrage an den Strato-Support verschickt - sobald ich eine Rückmeldung habe, werde ich diese hier posten.

snoops
Beiträge: 3
Registriert: 13. Sep 2017, 14:33

Re: Redaxo 4.7 / PHP 7 - Ausgabe "REX_VALUE[10]" und höher falsch

29. Sep 2017, 16:29

Hallo, wie angekündigt, hier die wenig hilfreiche Antwort vom Strato-Kundenservice:

"Ich rate Ihnen die Rückstellung auf PHP 5.6 und auch nicht den PHP Boost im Kundenbereich auf strato.de zu aktivieren. PHP 7.0 und der PHP Boost komprimieren die Dateien. Das kann die Ursache sein für Ihre Herausforderungen."

Hmm, hat noch jemand eine Idee, wie man das Problem lösen kann? Vielen Dank

Thomas.Skerbis
Beiträge: 1371
Registriert: 4. Aug 2006, 14:06
Wohnort: Rheinberg
Kontaktdaten: Website Twitter

Re: Redaxo 4.7 / PHP 7 - Ausgabe "REX_VALUE[10]" und höher falsch

29. Sep 2017, 21:57

Ja, wenn du auf PHP7 bestehst, wechsle den Hoster oder bestehe auf eine saubere PHP 7.x Installation.

Zurück zu „Allgemeines [R4]“