Willkommen, Gast ( Anmelden | Registrierung )     [ Hilfe | Mitglieder | Suche ]

 
Reply to this topicStart new topic
> Contentflex Parse Error beim Einsatz von {if_Element:x}
pinda
Beitrag Fri. 11. May 2012, 18:52
Beitrag #1


Member
**

Gruppe: Members
Beiträge: 12
Mitglied seit: 11.07.2006
Mitglieds-Nr.: 129



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

Der Beitrag wurde von pinda bearbeitet: Wed. 16. May 2012, 02:27
Go to the top of the page
 
+Quote Post
wabue
Beitrag Thu. 24. May 2012, 07:14
Beitrag #2


Member
**

Gruppe: Members
Beiträge: 28
Mitglied seit: 10.04.2008
Mitglieds-Nr.: 1.463



Hallo zusammen

Dieses Phänomen nagt auch an meinen Nerven. Ich würde mich an den Kosten beteiligen.

Grüsse
Wabü
Go to the top of the page
 
+Quote Post
pinda
Beitrag Thu. 24. May 2012, 16:46
Beitrag #3


Member
**

Gruppe: Members
Beiträge: 12
Mitglied seit: 11.07.2006
Mitglieds-Nr.: 129



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

Der Beitrag wurde von pinda bearbeitet: Thu. 24. May 2012, 16:47
Go to the top of the page
 
+Quote Post
Hr.Rossi
Beitrag Wed. 30. May 2012, 08:45
Beitrag #4


Member
**

Gruppe: Members
Beiträge: 15
Mitglied seit: 21.06.2008
Mitglieds-Nr.: 1.542



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
Go to the top of the page
 
+Quote Post
pinda
Beitrag Fri. 8. June 2012, 14:48
Beitrag #5


Member
**

Gruppe: Members
Beiträge: 12
Mitglied seit: 11.07.2006
Mitglieds-Nr.: 129



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
Go to the top of the page
 
+Quote Post
amk
Beitrag Fri. 8. June 2012, 15:46
Beitrag #6


TRAIL AND ERROR SPECIALIST
********

Gruppe: AdvancedMembers
Beiträge: 1.708
Mitglied seit: 27.06.2006
Wohnort: Hansestadt Rostock, Deutschland
Mitglieds-Nr.: 9



bitte mal diese version hier ausprobieren ... parse-error geschichte?! cool.gif
Angehängte Datei(en)
Angehängte Datei  ContentFlex_v01_08_08.cmsmod ( 337.53KB ) Anzahl der Downloads: 82
 


--------------------
cheers, Alex
Go to the top of the page
 
+Quote Post
pinda
Beitrag Fri. 15. June 2012, 15:11
Beitrag #7


Member
**

Gruppe: Members
Beiträge: 12
Mitglied seit: 11.07.2006
Mitglieds-Nr.: 129



Hallo Alex,

besten Dank!

pinda
Go to the top of the page
 
+Quote Post
mvsxyz
Beitrag Mon. 25. February 2013, 21:47
Beitrag #8


Advanced Member
********

Gruppe: Admins
Beiträge: 507
Mitglied seit: 27.06.2006
Mitglieds-Nr.: 11



ContentFlex v1.8.8 ist (bei einer Neuinstallation) in Sefrengo v1.4.6 enthalten.
Go to the top of the page
 
+Quote Post
silwue
Beitrag Fri. 28. August 2015, 09:15
Beitrag #9


Member
**

Gruppe: Members
Beiträge: 35
Mitglied seit: 20.09.2006
Wohnort: Graubünden
Mitglieds-Nr.: 247



ZITAT(amk @ Fri. 8. June 2012, 16:46) *
bitte mal diese version hier ausprobieren ... parse-error geschichte?! cool.gif


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.


--------------------
----------------------------------------------------------------------------------------------

Webdesign | Webhostaing von wembastaz gmbh
Hosting zu super fairen Preisen - auch für dein Sefrengo-Projekt!

----------------------------------------------------------------------------------------------
Go to the top of the page
 
+Quote Post
Heras
Beitrag Tue. 25. October 2016, 07:01
Beitrag #10


Member
**

Gruppe: Members
Beiträge: 14
Mitglied seit: 04.10.2006
Mitglieds-Nr.: 275



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

Der Beitrag wurde von Heras bearbeitet: Tue. 25. October 2016, 07:03
Go to the top of the page
 
+Quote Post
Heras
Beitrag Mon. 7. November 2016, 10:36
Beitrag #11


Member
**

Gruppe: Members
Beiträge: 14
Mitglied seit: 04.10.2006
Mitglieds-Nr.: 275



Der Fehler kommt, wenn 2 Sprachen eingerichtet sind.
Wie ich den Fehler beseitigen kann, weiß ich noch nicht.
Go to the top of the page
 
+Quote Post
Heras
Beitrag Fri. 11. November 2016, 09:20
Beitrag #12


Member
**

Gruppe: Members
Beiträge: 14
Mitglied seit: 04.10.2006
Mitglieds-Nr.: 275



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.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 Besucher lesen dieses Thema (Gäste: 1 | Anonyme Besucher: 0)
0 Mitglieder:

 



RSS Vereinfachte Darstellung Aktuelles Datum: 28.1.23 - 17:02

Sefrengo ist ein eingetragenes Markenzeichen und urheberrechtlich geschützt.
Copyright 2009 Design & Daten, Alle Rechte vorbehalten.