Chyba „Connection was reset“ na windows – Riesenie

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
matopeto
Člen | 395
+
+27
-

Pokial by niekto z vas dostaval pri praci s Nette chybu „Connection was reset“ najma pri praci so zlozitejsimi sablonami, je to koli chybe v preg_* impementaci v PHP.

Latte pouziva dost zlozite regularne vyrazy a tie prekrocia stack vo windowse, ktory je nastaveny na malu hodnotu.

Funkcia preg_match vtedy nevyhodi ziadnu chybu (stack dojde skor ako sa prekroci hodnota recursion_limit).

  1. pada to koli malemu stacksize na windowse (256KB)
  2. chyba sa nezobrazuje koli velkemu pcre.recursion_limit (v php.ini)

Oprava oboch je v nastaveni vyssieho stacksize napr. na 8M (to je default na linuxe) a znizenim recursion limitu na 16777.

1. Do httpd.conf vlozime (viac napr. tu: http://stackoverflow.com/…er-windows-7 ):

<IfModule mpm_winnt_module>
   ThreadStackSize 8388608
</IfModule>

2. v php.ini zmenime/nastavime:

pcre.recursion_limit=16777

Cely problem je rozpisany tu: http://stackoverflow.com/…rowser-error

Editoval matopeto (5. 11. 2013 14:07)

petr.pavel
Člen | 535
+
+1
-

Díky! Tohle by mělo být někde připíchnuté.

Matúš Matula
Člen | 257
+
0
-

ruky nohy bozkavam! urcite by to malo byt nejak zvyraznene! @matopeto Dik!