První pokus o spuštění dle doc.nette.org/cs/installation
- jik
- Člen | 149
Zdravím,
zkouším rozjet Nette a mám problém.
http://localhost/…/checker.php hlásí OK, ovšem
http://localhost/…sandbox/www/ nahlásí toto:
Nette\Utils\RegexpException
preg_match(): Compilation failed: POSIX collating elements are not supported at offset 148 in pattern: ~^ ( (?P<name>\?|/?[a-z]\w+(?:[.:]\w+)+(?!::|\())| ## ?, name, /name, but not function( or class:: (?P<noescape>!?)(?P<shortname>/?[=\~#%^&_]?) ## [!] [=] expression to print )(?P<args>.?) (?P<modifiers>\|a-z‚|„(?:\\.|[^“\\])„|[^‘“]+))? ()$~isx
…
37: $container->application->run();
Co je to – nějaký chybějící balík? ale který? Doma mám OpenSUSE 12.1 s PHP 5.3.8 resp. 9 (oba se stejným výsledkem), zajímavé, že v práci OpenSUSE 11.4 PHP z hlavy nevím jaké, to naskočilo dobře. Myslím, že ani v práci jsem nic extra neinstaloval.
děkuji a zdravím
jik
- juzna.cz
- Člen | 248
Muzes se prosim podivat na phpinfo() a vypsat sekci pcre. Mrkni, zda se lisi mezi stroji, kde ti to jde a kde ti to nejde.
Ja mam PCRE verzi 8.12 2011–01–15 a zadny problem mi to nehlasi. Podle googlu na tom novem OpenSUSE by melo byt 8.13, ktere asi pridava nejake validace
Editoval juzna.cz (4. 2. 2012 1:07)
- pokornymartin
- Člen | 8
Dobry den,
pokousim se taktez zprovoznit posledni verzi (NetteFramework-2.0.8-PHP5.3.zip) na Kubuntu 10.12 a nedari se mi:
vsechny kontroly jsou OK, ale po pristupu na stranku http://localhost/…sandbox/www/ dostanu tuto odpoved:
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`
zkousel jsem upravit Parser.php a porad stejny vysledek – muzete mi prosim poradit co s tim?
dekuji
- Milo
- Nette Core | 1283
Mě tenhle regexp s PCRE 8.12 projde, ale chyba možná závisí na parsovaném obsahu. Řešilo se to už tady na fóru.
Bude to chtít trochu debugování, protože se ten RE sestavuje dynamicky.
@pokornymartin: Mohl bys udělat pár dumpů a
pastnout je sem? A aby se zachovaly konce řádků…
V souboru Nette\Latte\Parser.php
na začátek metody
match()
:
private function match($re)
{
\Nette\Diagnostics\Debugger::$maxLen = 1e6;
dump($this->input);
dump($re);
if (....)
EDIT: A bude stačit pastnout jen ten poslední, než to spadne.
Editoval Milo (18. 2. 2013 20:50)
- pokornymartin
- Člen | 8
omlouvam se za natvrdlost.. ale ten dump se zobrazi kde?
Do souboru Nette\Latte\Parser.php na začátek metody match() jsem pridal ty tri radky, ale pri zavoalni stranky http://localhost/…sandbox/www/ se zobrazuje vse beze zmeny …
diky za trpelivost
- pokornymartin
- Člen | 8
toto?:
File: …/libs/Nette/Utils/Strings.php Line: 460
450: * @param int offset in bytes
451: * @return mixed
452: */
453: public static function match($subject, $pattern, $flags = 0, $offset = 0)
454: {
455: if ($offset > strlen($subject)) {
456: return NULL;
457: }
458: set_error_handler(function($severity, $message) use ($pattern) { // preg_last_error does not return compile errors
459: restore_error_handler();
460: throw new RegexpException("$message in pattern: $pattern");
461: });
462: $res = preg_match($pattern, $subject, $m, $flags, $offset);
463: restore_error_handler();
464: if (preg_last_error()) { // run-time error
Editoval pokornymartin (19. 2. 2013 10:32)
- pokornymartin
- Člen | 8
hmm, tak tam se mi zobrazi prazdna stranka, jen s Debugger Barem vpravo dole a cervenou sipkou ladenky vpravo nahore
- pokornymartin
- Člen | 8
bohuzel se mi nedari vubec nic z toho dostat :(
zkusim to rozjet na jinem PC a ozvu se
- pokornymartin
- Člen | 8
vubec nic – jen jsem rozbalil archiv do rootu www (nette) … a nic :(
kontrola probehne OK, ale dal se nedostanu
EDIT: ted jsem to nahrnul na jine PC a tady to funguje bez problemu na prvni spusteni
PHP Version 5.3.10–1ubuntu3.5
PCRE Library Version 8.12 2011–01–15
zkusim na tom puvodnim prekopat PHP
Editoval pokornymartin (19. 2. 2013 21:52)
- pokornymartin
- Člen | 8
tak uz to funguje – vyhodil jsem XAMPP a veskera nastaveni apache, php
atd.
nacisto nainstaloval LAMP
verze PHP: 5.4.6–1ubuntu1.1
PCRE: 8.30 2012–02–04
a frci to :) diky moc za rady!