

poradna.net a short_open_tag
Na uvodní stránce poradna.net se mi na začátku zobrazuje níže uvedený PHP kód.
Někdo tam dělal nějaké úpravy a zapomněl na to, že máte v PHP short_open_tag zakázaný případně ho někdo zakázal a na stránce poradna.net chybí několikrát za hranatou závorkou a otazníkem php: <?php
Já si říkal, že si toho někdo všimne, ale když už to tam vidím minimálně několik hodin a nic se neděje... tak si to opravte.
<?
$langs = array("sk" => 0, "cs" => 0);
foreach (explode(",", $_SERVER["HTTP_ACCEPT_LANGUAGE"]) as $lang) {
$pattern = '/^(?P<primarytag>[a-zA-Z]{2,8})(?:-(?P<subtag>[a-zA-Z]{2,8}))?(?:(?:;q=)(?P<quantifier>\d\.\d))?$/';
$splits = array();
if (preg_match($pattern, $lang, $splits)) {
$primarytag = isset($splits["primarytag"]) ? $splits["primarytag"] : "";
$quantifier = isset($splits["quantifier"]) ? (float)$splits["quantifier"] : 1;
$langs[$primarytag] = max($quantifier, isset($langs[$primarytag]) ? $langs[$primarytag] : 0);
}
}
$lang = $langs["sk"] > $langs["cs"] ? "sk" : "cs";
$domains = array(
"pc" => array(
"url" => "http://pc.poradna.net/",
"sk" => array(
"title" => "Počítače",
"description" => "V tejto poradni nájdete rady týkajúce sa počítačov, hardvéru a softvéru."
),
"cs" => array(
"title" => "Počítače",
"description" => "Dotazy týkající sa počítačů, počítačových komponent a programů."
),
),
"tera" => array(
"url" => "http://tera.poradna.net/",
"sk" => array(
"title" => "Teráristika",
"description" => "Poradňa pre všetkých teráristov, herpetológov a ľudí so záujmom nielen o plaziu problematiku."
),
"cs" => array(
"title" => "Teraristika",
"description" => "Poradna pro všechny teraristy, herpetology a lidi se zájmem nejen o plazí problematiku."
),
),
"akva" => array(
"url" => "http://akva.poradna.net/",
"sk" => array(
"title" => "Akvaristika",
"description" => "Miesto pre virtuálne stretnutie akvaristov a všetkých, ktorých akvaristika zaujíma."
),
"cs" => array(
"title" => "Akvaristika",
"description" => "Místo pro virtuální setkání akvaristů a všech, které akvaristika zajímá."
),
),
"kutil" => array(
"url" => "http://kutilska.poradna.net/",
"sk" => array(
"title" => "Kutilstvo",
"description" => "Veľa šikovných kutilov Vám poradí nielen pri stavbe domu a rekonštrukcii bytu."
),
"cs" => array(
"title" => "Kutilství",
"description" => "Hodně šikovných kutilů Vám poradí nejenom při stavbě domu a rekonstrukci bytu."
),
),
"hry" => array(
"url" => "http://hry.poradna.net/",
"sk" => array(
"title" => "Hry",
"description" => "Tu diskutujeme o hrách počítačových i ostatných, hru kráľovskú nevynímajúc."
),
"cs" => array(
"title" => "Hry",
"description" => "Zde probírame hry počítačové i ostatní, hru královskou nevyjímaje."
),
),
"pravo" => array(
"url" => "http://pravo.poradna.net/",
"sk" => array(
"title" => "Právo",
"description" => "Na tomto fóre sú pripravení riešiť vaše právne problémy odborníci z profesionálnych právnych kancelárií."
),
"cs" => array(
"title" => "Právo",
"description" => " Na tomto fóre sú pripravení riešiť vaše právne problémy odborníci z profesionálnych právnych kancelárií."
),
),
"ekonomicka" => array(
"url" => "http://ekonomicka.poradna.net/",
"sk" => array(
"title" => "Ekonomická",
"description" => "Máte nejakú otázku ohľadom financií? Trápia vás splátky požičky, prípadne neviete vyjsť s peniazmi? Chcete podnikať a neviete ako na to? Máte problémy s daňami? Spýtajte sa na ekonomickej poradni."
),
"cs" => array(
"title" => "Ekonomická",
"description" => " Máte nějakou otázku ohledně financí? Trápí vás splátky půjček, případně se vám nedaří vyjít s penězi? Chcete podnikat a nevíte jak na to? Máte problémy s daněmi?
Zeptejte se na ekonomické poradně."
),
),
"zivot" => array(
"url" => "http://zivot.poradna.net/",
"sk" => array(
"title" => "Život",
"description" => "Máte nejaký problém vo svojom živote? Trápi vás nadváha, či neviete variť, cestujete niekam a potrebujete sa niečo spýtať? Ste na správnom mieste. Život je príliš krátky na to, aby ste strácali čas učením sa na vlastných chybách, skúste sa poučiť zo skúsenosti našich používateľov. Vitajte na zivot.poradna.net!"
),
"cs" => array(
"title" => "Život",
"description" => "Máte nějaký problém v životě? Trápí vás nadváha, neumíte vařit, cestujete někam a potřebujete se na něco zeptat? Potom jste zde správně. Život je příliš krátký na to, abyste ztráceli čas učením se z vlastních chyb - zkuste se poučit ze zkušeností našich návštěvníků. Vítejte na zivot.poradna.net!"
),
),
);
?>
Mně to nedělá.
Mě jo
To je divné, mně to dělá v různých zařízeních v různých prohlížích všude.
Takto to u mě vypadá:
Tak to vypada hodne divne. U mna vsetko vyzera uplne normalne.
Zeby preto, ze som to 20min pred tvojim prispevkom opravil?
Mozno
Minuly tyzden som upgradoval cely server, takze je tam novsi apache aj php a tak sa prejavili chyby, ktore starsie verzie prehliadali.
Opravene.
Jaké chyby, které starší verze přehlížely?
Před upgradem tam byl nastavený short_open_tag On a používalo se tam "<?", což je normální věc, žádná chyba.
Chyba nastala při upgradu tvou vinou, prostě jsi nezkontroloval původní nastavení serveru a odpovídajícím způsobem jsi nenastavil short_open_tag opět na On nebo jsi neprovedl změnu v kódu z "<?" na "<?php".
Což je kritická chyba a zarážející u někoho, kdo řeší placený hosting pro lidi...
Zdá se mi, že nenastala sebereflexe.
Predtym som ti chcel podakovat, teraz napisem len tolko. ze zmrda si v sebe opat raz nezaprel.
Pre niekoho koho zaujimaju technikalie.
PHP 7.0 ma short open nastaveny na on, kym 7.3 co ide za nim uz off, to je prva vec
Losovia stare znacenie pouzili len na uvodnej stranke, na dalsich uz nie, pretoze ten indexovy subor je historicky najstarsi a presiel mnohymi verziami poradne a postupne ako sa vyvijalo php sa nanho trosku zabudlo.
Vzhladom na to, ze ide o prehistoriu nenapadlo mi skontrolovat ho.
Kdybys mi chtěl opravdu poděkovat, tak jsi to už udělal v prvním příspěvku. Neudělal jsi to.
Není důležité jaké je defaultní nastavení PHP nebo defaultní nastavení konfiguračního souboru PHP.
Důležité je jak je PHP skutečně na serveru nastavené = jestli má short_open_tag On nebo Off.
Takže je jedno jak jaké verze mají nastavené defaultně short_open_tag, rozumný admin s tím při migraci počítá.
Původně tam bylo nastavené short_open_tag On, drtivá většina PHP kódu byla předělaná na "<?php", tedy kompatibilní i s short_open_tag Off, a při migraci se opomnělo to, že by tam někde ještě mohlo být "<?". To bylo těžké to napsat? Místo vymlování se na chyby, verze a defaultní nastavení PHP?
Ještě malá nepodstatná poznámka k "Minuly tyzden som upgradoval cely server"



Takže už web jede na podporovaném softwaru?
https://pc.poradna.net/questions/3308774-proc-poradna-jede-na-starem-softwaru
Což je super. A má to i TLS 1.3.
Ale u mě je i trošku zklamání
Podle:
Server: Apache/2.4.59 (Debian)
a
Grupa pro výměnu klíčů: "x25519"
Bych to tipl na něco staršího než Debian 13, asi Debian 12.
Protože Debian 13 má OpenSSL 3.5 a defaultně kvantově odolné šifrování mlkem768x25519
Kdo nemá mlkem768x25519 je zaostalej, i můj web na freehostingu na Endoře jede na mlkem768x25519