Error 500 po editaci HTML stránky

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

Jako laik jsem chtěl změnit obsah jedné stránky na webu http://www.vinarskydumsedlec.cz/ (není tam CMS). Přihlásil jsem se na FTP, nakopíroval stránku z adresáře (/app/templates/Homepage/ceny) k sobě na disk, zakomentoval jeden řádek a nakopíroval zpět. Stránka teď nicméně hází error 500 http://www.vinarskydumsedlec.cz/ceny, ale všechny ostatní fungují. Obdobně jsem editoval web již v minulosti – tenkrát úspěšně.

error.log ukazuje

(?P<rmargin>[ \t]*(?=\n))?
		         ##  macro tag
		~xsi in /home/www/vinarskydumsedlec.cz/subdomeny/www/libs/Nette/Utils/Strings.php(458) : runtime-created function:3  @  http://www.vinarskydumsedlec.cz/ceny  @@  exception-2017-01-11-19-37-05-42b706ed11b44456d6230107eda685c8.html
[2017-01-11 20-28-19] ApplicationException: An error occurred while executing error-presenter in /home/www/vinarskydumsedlec.cz/subdomeny/www/libs/Nette/Application/Application.php:154  @  http://www.vinarskydumsedlec.cz/ceny  @@  exception-2017-01-11-19-37-06-e031ecbea9da726f83475bbc3c9bb80a.html
[2017-01-11 20-28-24] RegexpException: preg_match(): Compilation failed: internal error: previously-checked referenced subpattern not found at offset 462 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)\}|[^'"{}])*+
				\}|[^'"{}])+?)

laděnka

RegexpException

preg_match(): Compilation failed: internal error: previously-checked referenced subpattern not found at offset 462 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 search►

a

ApplicationException

An error occurred while executing error-presenter

Nějak nevím, co s tím. Nějaká nápad?

Díky.

Andrew Roark
Člen | 6
+
0
-

Ještě dodám, že žádné jiné soubory (.htaccess) jsem needitoval a pokud předmětný soubor ceny.latte na serveru smažu, tak error 500 zmizí.

parti
Člen | 117
+
+1
-

Ja bych zkusil zmazat cache.?

Andrew Roark
Člen | 6
+
0
-

Problém je, že nevím jak :-) Postačí smazat nějaké (jaké?) soubory ve správci souborů? Potřeboval bych dost jasně nasměrovat, nejsem programátor. Díky.

parti
Člen | 117
+
0
-

ok na servru ve svem projekte (webu) musis najit soubor temp/cache/ a vnem vse co je tak smaz. Musis smazat vse co je v cahce a nic jine :o)

matopeto
Člen | 395
+
0
-

Nezakomentoval si to nejako zle, ze z toho vznikol nevalidny latte kod?

Andrew Roark
Člen | 6
+
0
-

matopeto napsal(a):

Nezakomentoval si to nejako zle, ze z toho vznikol nevalidny latte kod?

Nevím, možná. Ale pak jsem tam nahodil původní soubor (zálohu) a error 500 zůstal.

Zkoušel jsem smazat cache, ale to nepomohlo. Vůbec se mi tam nově nevytvořil soubor _Nette.FileTemplate

Smazal jsem celý obsah layoutu, jen HTML značky nechal (body, doctype, head) – nepomohlo.

Na editovaném souboru byly Windows konce řádků (nedal jsem si na to pozor v editoru), přepsal jsem na UNIX, ale nepomohlo.

Je možné, že je problém v tom, že updatovali verzi PHP na serveru (Station) a po mém zásahu se problém projevil? Nyní v administraci Station migruji na PHP 5.3. a čekám, co se stane.

Po zásazích navíc již nejede komplet celý web (error 500)… Error logy vypisují stále to stejné.

/EDIT:
Nyní jsem se dozvěděl, že ke změnám skutečně došlo:

Vážený kliente,
v noci z úterý na středu budeme provádět důležité bezpečnostní aktualizace databázových serverů
mysql5-3 a mysql5-4. Zároveň bude verze MySQL povýšena na řadu 5.6.

Provedení servisního zásahu:
datum: noc z 20. na 21. 12. 2016
čas: mezi 23.00 a 3.00

Logiku to má, poslední editace stránek proběhla několik měsíců před aktualizacemi.

//EDIT:
Po migraci na PHP 5.3. (viz výše) web háže 404. Tlačítko se jmenuje „Provést změnu a migraci dat“, změna asi proběhla, migrace dat ne (na FTP nevidím ani jeden soubor).

Editoval Andrew Roark (12. 1. 2017 19:26)

Andrew Roark
Člen | 6
+
0
-

Řešením byla změna verze PHP na serveru (5.2 → 5.3), po několikahodinovém výpadku byly soubory na serveru Station obnoveny. Nicméně i tak měním hosting.

parti
Člen | 117
+
0
-

A kde mas hosting?

Andrew Roark
Člen | 6
+
0
-

Station, je to tady uvedeno vícekrát.

Aby nedošlo k nedorozumění: https://www.station.cz/