Druckversion des Themas
Forum Sefrengo.org _ Anwenderforum _ Contentflex Parse Error beim Einsatz von {if_Element:x}
Geschrieben von: pinda Fri. 11. May 2012, 18:52
Liebe Liste!
Ich habe mehrere Sefrengo-Installationen bei verschiedenen Providern.
Bei Host-Europe habe ich nach einem Serverumzug das Problem, daß es im Contentflex beim Einsatz von {if_Element:x} folgenden Parse Error gibt:
CODE
Parse error: syntax error, unexpected '<' in /.../sefrengo/projekt01/cms/inc/frontend.php(257) : eval()'d code on line 771
Parse error: syntax error, unexpected '<' in /.../sefrengo/projekt01/cms/inc/backend.php(157) : eval()'d code on line 831
In backend.php und frontend.php ist das jeweils die Zeile:
"eval('?>'.$code);"
System: PHP Version 5.3.10, Suhosin Patch 0.9.10, mysql 5.5.22.
Auf einem anderen Server bei Host-Europe gibt's das Problem nicht PHP Version 5.2.17, Suhosin Patch 0.9.32.1, mysql 5.5.22.
Unterdessen ist klar, es liegt nicht an Suhosin sondern an der php-Version, denn mein XAMPP PHP 5.3 (ohne Suhosin) zeigt die selben Fehlermeldungen an.
Wer hat eine Lösung bzw. gibt es eine?
Nachtrag: Ja, was würde eine Lösung kosten?
1.000 Dank
-pinda
Geschrieben von: wabue Thu. 24. May 2012, 07:14
Hallo zusammen
Dieses Phänomen nagt auch an meinen Nerven. Ich würde mich an den Kosten beteiligen.
Grüsse
Wabü
Geschrieben von: pinda Thu. 24. May 2012, 16:46
Liebe Liste!
unterdessen habe ich den Fehler etwas näher lokalisieren können.
Er wird durch dei Zeile 1372 in backend/inc/mod.contentflex_cache.php hervorgerufen.
CODE
preg_match_all('#\{if_(.*)\}#sU',$modv['tpl_inner'],$modv['statement_elements']);
Vielleicht hilft das weiter!
-pinda
Geschrieben von: Hr.Rossi Wed. 30. May 2012, 08:45
Hallo Pinda, hallo Liste,
da bist Du ja schon fast am Ziel! Leider habe ich im Moment nicht ganz so viel Zeit, aber Du könntest noch ein paar Fakten ermitteln und dann schaffen wir das (evtl. mit Hilfe der anderen).
1.) Hast Du mal den Inhalt von $modv['tpl_inner'] ausgeben lassen? (Lass Dir das doch evtl mal in eine Datei schreiben und poste den Inhalt hier [oder schick ihn mir per Mail].)
2.) Evtl. hilft auch ein Ändern des regulären Ausdruck:
2.1) preg_match_all('#\{if_([^\}]*)\}#sU',$modv['tpl_inner'],$modv['statement_elements']);
2.2) preg_match_all('#\{if_([^\}]*)\}#',$modv['tpl_inner'],$modv['statement_elements']);
Aber Idee 2.1 könnte schon zum Ziel führen.
Soweit,
lieben Gruß,
Herr Rossi
Geschrieben von: pinda Fri. 8. June 2012, 14:48
Lieber Herr Rossi, liebe Liste,
ich war ein paar Tage in Urlaub, deswegen erst jetzt meine Reaktion.
Unterdessen habe ich den Fehler weiter eingrenzen und neu lokalisieren können.
Der Fehler, der in Zeile 1372 in backend/inc/mod.contentflex_cache.php hervorgerufen, entsteht eigentlich an anderer Stelle.
Die Meldung
QUELLTEXT
Parse error: syntax error, unexpected '<' in /.../sefrengo/projekt01/cms/inc/frontend.php(257) : eval()'d code on line 771
ensteht und verweist nur auf eine andere Fehlermeldung die von php, beginnend mit '<b>' ausgegeben wird!
Das wird sichtbar, wenn ich in backend.php ca. bei Zeiel 154 nach
// throw out side
else{
via
echo $code;
exit;
den Code direkt ausgeben lasse.
Die angezeigte Fehlermeldung lautet dann:
QUELLTEXT
Warning: addslashes() expects parameter 1 to be string, array given in ...\htdocs\sefrengo\backend\inc\inc.generate_code.php(252) : eval()'d code on line 1512
Ab hier aus komme ich aber nicht mehr alleine weiter!
Eine, nicht mehr als kaschierende, Möglichkeit, if-Kontrollstrukturen in Contentflex unter php 5.3 ohne die Anzeige von Fehlermeldungen zu verwenden besteht darin, in der index.php des Projekts das error reporting zu ändern, z.B. von
QUELLTEXT
error_reporting (E_ALL & ~E_NOTICE & ~E_DEPRECATED);
in
error_reporting (E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_WARNING);
Ein Lösung stellt das aber (für mich) natürlich nicht dar.
pinda
Geschrieben von: amk Fri. 8. June 2012, 15:46
bitte mal diese version hier ausprobieren ... parse-error geschichte?!
Geschrieben von: pinda Fri. 15. June 2012, 15:11
Hallo Alex,
besten Dank!
pinda
Geschrieben von: mvsxyz Mon. 25. February 2013, 21:47
ContentFlex v1.8.8 ist (bei einer Neuinstallation) in Sefrengo v1.4.6 enthalten.
Geschrieben von: silwue Fri. 28. August 2015, 09:15
ZITAT(amk @ Fri. 8. June 2012, 16:46)
bitte mal diese version hier ausprobieren ... parse-error geschichte?!
Ich hatte das selbe Problem, also ich von PHP 5.2.x auf 5.5.x umstellte. Mit diesem Fix hat es geholfen. Besten Dank.
Geschrieben von: Heras Tue. 25. October 2016, 07:01
Auch ich habe das Problem nun zum ersten Mal.
Umgestellt wurde von PHP 5.2 auf PHP 5.6
Zuvor hatte ich es bei
Windows IE, FF, Edge
Linux FF
Nun habe ich auf PHP 5.6 umgestellt und das Problem tritt nur noch am Linux FF auf
QUELLTEXT
Parse error: syntax error, unexpected ',' in /XXXXXX//htdocs/CMS/XXXXX.de/cms/inc/frontend.php(257) : eval()'d code on line 762
(die xxx dienen nur der Unkenntlichmachung der URL)
IE = Internet Explorer
FF = Firefox
Windows wurde getestet Windows 7 Pro und Windows 10 Pro.
Linux wurde verwendet Linux Mint 18
Sefrengo 1.6.4
ContentFlex 1.8.8
Geschrieben von: Heras Mon. 7. November 2016, 10:36
Der Fehler kommt, wenn 2 Sprachen eingerichtet sind.
Wie ich den Fehler beseitigen kann, weiß ich noch nicht.
Geschrieben von: Heras Fri. 11. November 2016, 09:20
Es lag daran, dass Linux Derivate "EN" als Standard gesetzt haben.
Da diese Sprache im backend aber noch überhaupt nicht ausgearbeitet war, kam es zu einem Fehler.
Habe jetzt vorerst auch bei "EN" auf deutsche Seite weitergeleitet.
Unterstützt von Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)