Po upgradu serveru hazi RegexpException
- Pavel Lokvenc
- Člen | 7
Zdravím, právě jsem upgradnul server za poslední verzi XAMPP, verze PHP je 5.4.4, Nette 2.0.3 i 2.0.4. Po přesunu stránek na tento server mi aplikace postavena na Nette začala házet chybu:
Nette\Utils\RegexpException
preg_match(): Compilation failed: internal error: previously-checked referenced subpattern not found at offset 474 in pattern: ~ (?:(?<=\n|^)[ \t]*)?<(?P<closing>/?)(?P<tag>[a-z0-9:]+)| ## begin of HTML tag <tag </tag - ignores <!DOCTYPE <(?P<htmlcomment>!--)| ## begin of HTML comment <!-- (?P<comment>\{(?![\s'"{}])\*.*?\*\}\n{0,2})| \{(?![\s'"{}]) (?P<macro>(?:'(?:\\.|[^'\\])*'|"(?:\\.|[^"\\])*"|\{ (?P<inner>'(?:\\.|[^'\\])*'|"(?:\\.|[^"\\])*"|\{(?P>inner)\}|[^'"{}])*+ \}|[^'"{}])+?) \} (?P<rmargin>[ \t]*(?=\n))? ## macro tag ~xsi---/
Dělají to obě verze Nette. Našel jsem tu na fóru něco s PCRE ale s tím jsem moc nepochodil. Jeho verze je 8.12.
Díky moc za odpovědi
Editoval Pavel Lokvenc (3. 8. 2012 11:51)
- bojno
- Člen | 8
Chybné je zrejme: (?P>inner), resp. XAMPP má vypnutý nejaký modul alebo niečo podobné, čo povoľuje rekurzívne výrazy…
EDIT: Je to určite nejaká chyba XAMPP-u, pretože po opravení danej chyby vyskočí ďalšia ohľadne regexu, po aspoň čiastočnom opravení druhej chyby vyskočí tretia…
Poznáte nejaké iný riešenie namiesto XAMPP-u? Niečo stabilnejšie a častejšie updatované? Na linux!
Editoval bojno (1. 9. 2012 23:01)
- AgentKrtek
- Člen | 3
Podařilo se někomu vyřešit tuto chybu?
Můj stav: XAMPP for Linux 1.8.0 (PCRE Library Version: 8.12 2011–01–15), Nette 2.0.5 stabilní