V posledních týdnech českou SEO scénu trochu rozrušují různé výměny názorů na téma, co to vlastně to SEO je, a jestli je to optimalizace pro vyhledávače, nebo jestli je to optimalizace pro lidi vyhledávající na internetu, a kam vlastně to SEO spěje a jestli se SEO démonizuje, nebo jestli ubližuje, nebo jestli je to normální atd. Developstudio SEOsamozřejmě dělá, sám jsem také na SEO scéně celkem známý (doufám, že i snad zkušený a uznávaný), takže zkusím říci svůj názor, i když jej samozřejmě nikomu nenutím.
Myslím, že je třeba se kouknout, jak vlastně termín SEO vznikl. První jeho výskyt byl zaznamenán s největší pravděpodobností 26. 7. 1997 v diskusi na Usenetu, kdy se diskutovalo právě jak důležité je mít stránky vysoce ceněné a viditelné ve vyhledávačích. Předtím se totiž stránky dělaly právě jen pro uživatele, role vyhledavačů nebyla tak podstatná, neboť v té době zcela dominovaly katalogové stránky, kde jste si za umístění platili (na tom byl ostatně postaven i Seznam.cz).
Termín SEO tedy vznikl pro odlišení do té doby „běžné“ tvorby stránek a tvorby stránek tak, aby se dobře umisťovaly ve vyhledavačích. S příchodem Google o rok později a tedy s příchodem vyhodnocování stránek nikoliv pouze podle jejich obsahu ale podle toho, jak si jich cení ostatní stránky, se SEO rozdělilo na tzv. on-page faktory (optimalizace obsahu – textů a kódu stránek) a off-page faktory (zjednodušeně zpětné odkazy)
To čemu nyní říkáme „optimalizace pro uživatele“ je vlastně to co se dělalo do té doby, než vzniklo SEO, tedy tvorba obsahu pro cílové zákaznické/čtenářské skupiny, termín SEO vznikl právě jako jakýsi protiklad tomuto zaměření, či chcete-li rozšíření samotné tvorby stránek a obsahu o faktor sledování a vylepšování pozic ve vyhledavačích.
Dobré je podívat se i, co o SEO říká encyklopedie, či spíše wikipedie (která má myslím u moderních termínů a zejména pak termínů ze světa počítačů prakticky vždy lepší vypovídající schopnost než „běžné“ encyklopedie):
Search engine optimization (SEO) is the process of improving the volume and quality of traffic to a web site from search engines via „natural“ („organic“ or „algorithmic“) search results. Usually, the earlier a site is presented in the search results, or the higher it „ranks,“ the more searchers will visit that site.
Tedy česky „Optimalizace pro vyhledavače je proces zvyšování objemu a kvality návštěvnosti webových stránek z vyhledavačů skrze přirozené výsledky vyhledávání. Obyvkle čím dříve je stránka umístěna ve výsledcích vyhledávání, nebo čím výše je hodnocena, tím více hledajících uživatelů tuto stránku navštíví“.
Podle mého názoru je SEO tedy optimalizace s cílem získat maximální cílenou návštěvnost z vyhledavačů. Tedy opravdu „jen“ to co chápeme jako optimalizace pro vyhledavače - aby se stránky umisťovaly co nejvýše na důležitá klíčová slova (to je ta „kvalita návštěvnosti“, tj. to že návštěvnost nepochází na nesouvisející a nepodstatné termíny), případně aby popisek stránky co nejvíce lákal ke kliknutí. Nic víc, nic míň.
Osobně považuji SEO jako součást internetového marketinového mixu, kde jsou např. optimalizace pro vyhledavače (tj. způsob jak relativně levně a dlouhodobě získat mnoho cílených návštěvníků), optimalizace reklamních aktivit (PPC kampaně, bannery…), optimalizace stránek pro uživatele (použitelnost, přístupnost, texty) a hlavně optimalizaci stránek pro cíle firmy (aby návštěvníci následně opravdu poptali/objednali…).
Kdybych si myslel, že SEO v sobě zahrnuje i optimalizaci pro uživatele, respektive pro cíle firmy, tak jak tvrdí někteří optimalizátoři, chyběl by mě termín pro tu „optimalizaci pro vyhledávače“, tedy pro proces, jakým dosáhneme, že stránky které jsou jinak dokonalé pro uživatele, skvěle plní cíle firmy a každý jejich návštěvník na nich objedná zboží, tak že se tyto stránky umisťují vepředu ve vyhledávačích na důležitá klíčová slova a díky tomu získávají cílenou návštěvnost (se kterou pak mohou dále pracovat).
P.S.: samozřejmě, ať už říkáte a chcete SEO – optimalizaci pro vyhledávače, nebo SEO – optimalizaci pro lidi, tak my vám nabídneme všechny typy SEO optimalizace ;)
Souhlasím s Vaším názorem na SEO. Jde především o to, získat co nejvíce návštěvníků z vyhledávačů. Jde tedy vlastně o jakousi formu placené reklamy. Bohužel ale i zde platí - jako v každém jiném oboru podnikání - že peníze dělají návštěvníky, a tak když někdo má na to, aby si zaplatil SEO vyhrává, i přes to, že třeba jeho projekt je horší než konkurenční. A to je škoda.
Aby byl web optimalizován nejen pro vyhledavače, ale i pro lidi je jsoučást SEO. Za situace, kdy Google používá zpětnou vazbu a weby, které uživatelé ve velkém množství ihned opustí a vrátí se zpět na stránku výsledků vyhledávání znevýhodňuje to ani jinak nejde. Za SEO se dá podle mého názoru považovat i vytvoření stránek natolik zajímavých, že si je uživatel uloží do záložek a po čase se vrátí odtud.
Nádherně přeoptimalizovaný článek pro získání zpětných odkazů. :-)
Velice mě pobavila snaha autora o maximální využití klíčových slov, bohužel tím utrpěl obsah, styl, PRAVOPIS!!!, a především smysl článku. Já osobně považuji za smysl článku právě získání zpětných odkazů, místo snahy sdělit něco nového čtenářům.
Jaký je tedy Váš názor na SEO, jelikož v jednom okamžiku si myslíte to a v druhé je SEO podle Vás něco trochu jiného. Čtenáře to celkem může zmást.
Ještě mě zarazila skutečnost, že rozlišujete optimalizaci pro lidi a pro vyhledáváče. Co jsem se setkal s odborníky, kteří SEO prováděli, tak těm stačilo zoptimalizovat stránky pro lidi a vyhledávače už si je sami posunuly na přední pozice. Inu, kdo umí, umí. :-)
PS: Můj názor neberte zas tak Vážně, nejsem žádný expert přes SEO, jen hodně čtu, sleduju a ptám se. Bohužel jsem zklamán z "rádoby profesionálů", kteří se prezentují jako odborníci, při tom znají pár základních pravidel SEO, ale nepochopili jeho základní podstatu. :-)
PSS: Máte asi hodně rád výraz "tedy" ? :-)))
[7] ano, zpětné odkazy tam jsou, když už trávím hodinu psaním pro veřejnost zdarma, tak ať z toho aspoň mám tu desetikorunu, kterou mi to ušetří na backlinkách, které bych jinak musel koupit. Na našich 151 024 externích odkazech, které momentálně máme to bude fakt znát.
Pravopis se přiznám neřeším, píšu jak mi zobák narostl bez kontroly pravopisu, nekontroluju to po sobě, dost na to že to píšu, jestli jste našel chyby, rád je opravím.
4 lidi před vámi si myslí něco jiného, nevím kde vidíte nějaký rozpor v mém tvrzení, já mám stejný názor už 11 let co SEO dělám (když se to ještě SEO nejmenovalo).
Právě proto, že nejste expert přes SEO je váš názor o tom co je SEO a jak se dělá zcela irelevantní. Jestli ale vaše stránky dělali SEO odborníci, tak jistě jako my v sobě zcela přirozené pudy a postupy a ví, co je pro SEO dobré a co nikoliv a dělají to tím správným postupem a to i u věcí, které jsou jinak u optimalizace pro lidi zcela nepodstatné (a občas i mírně nevhodné).
Ale vsadím se s vámi o co chcete, že jakkoliv dokonale pro lidi optimalizované stránky nedostanete dopředu na opravdu podstatná klíčová slova bez toho, co je opravdu "čisté SEO", tedy bez praktik zaměřených právě jen na získání dobrých pozic ve vyhledávačích (třeba ty backlinky).
Ale jen čtěte, sledujte se a ptejte se, za 10 let a 400 realizovaných webů možná budete mít moje zkušenosti ;)
[9] jenže když budete mít normální firemní stránky, žádné ujeťárny s hrama, žádné magazíny atd. tak na vás nikdo jen tak odkazovat nebude. Navíc potřebujete těch odkazů nejen hodně, ale z důležitých míst a ve správném tvaru. Potřebujete vyloženě strategii na budování zpětných odkazů. A to je třeba jedna z věcí, která je čistě SEO a nemá nic společného s optimalizací na lidi, má to s lidmi společného tolik asi jako televizní reklama ve 3 ráno. Plus jak jsem psal existuje spousta on-page triků, které jsou také zaměřené čistě na vyhledávače.
[8] No vidíte, vy musíte zpětné odkazy kupovat a na naše stránky lidé odkazují sami a dokonce máme i firemní stránky. Pokud byste potřeboval poradit jak na to, velice rád to pro Vás udělám. I podle toho se pozná web s kvalitním obsahem pane experte. Ale to samozřejmě jako odborník víte.
Tady vidím rozpor. Dovolím si citovat:
1. tvrzení: "Podle mého názoru je SEO tedy optimalizace s cílem získat maximální cílenou návštěvnost z vyhledavačů. Tedy opravdu "jen" to co chápeme jako optimalizace pro vyhledavače.....Nic víc, nic míň."
2.tvrzení: "Osobně považuji SEO jako součást internetového marketinového mixu, kde jsou např. optimalizace pro vyhledavače"
Ten druhý pohled na SEO zdá se mi mnohem šťastnější.
Můj názor je irelevantní, ale ne z důvodu, že nejsem SEO expert, ale z důvodu, že s Vámi nesouhlasím, není-liž pradva. :-) Můj názor je stejně hodnotný jako Váš i když třeba nemusí být správný. Jde o názor ne o tvrzení nebo fakta, ale to byste jako expert přece vědět měl.
A víte jaký byl přístup odborníků, když dělali naše stránky? Žádná optimalizace pro vyhledávače, žádná optimalizace pro lidi, ale kompletní optimalizace stránek, která zahrnovala naprosto všechny prvky, o kterých vy se v článku vůbec nezmiňujete a jsou velmi podstatné. Jak vůbec někdo může rozlišovat věci, které spolu tak úzce souvisí.
Inu jak píšete, pokud jste tyto vědomosti získával 11 let, pak chápu i obsah Vašeho článku a chování při potírání opačného názoru ostatních lidí. Opravdu pevně doufám a věřím, že za 10 let budu mít i v jiných oblastech daleko větší zkušenosti, než kterými se tu momentálně prezentujete.
Neberte to nijak zle, hold ne každému se zavděčíte svým povýšeným chováním. A ještě takovou maličkost. 11 let je na získání zkušeností SEO experta opravdu krátká doba. Věřte mi, za dalších 11 let (pokud u profese vydržíte) mi dáte za pravdu. :-)
[11] ale houbelec, na běžné firemní stránky vám bude odkazovat tak málo lidí, že vás to na opravdu důležitá klíčová slova nedostane. Jasně, jestli prodáváte cihly, tak můžete být vepředu, ale stačí trochu víc konkurenceschopné slovo a budete v hajzlu. Ale to s jedním webem pak nejste s to pochopit
Co se týče toho rozporu, tak já v tom naprosto žádný rozpor nevidím. SEO je optimalizace pro vyhledávače s cílem získat maximální cílenou návštěvost a toto je součástí internetového marketingového mixu.
A jak už jsem psal, odborníci opravdu dělají stránky tak, že jsou optimalizované po všech stránkách, aniž jim to musíte říkat. A tenhle článek vůbec nezmiňoval prvky SEO optimalizace, jeho titulek i obsah byl zcela jiný.
A váš názor vám neberu (to bych je tu mazal, jak to dělají jiní), jen je to jaksi jako kdyby se snažil student základní školy poučovat o fungování motoru automobilového inženýra. Takže zachovejte nadšení a zápal pro věc, až vyrostete, můžem si popovídat jako rovný s rovným a nebudu působit tolik povýšeně.
Tomáš Kapler, specialista v oblasti internetového marketingu, konzultant v oblasti datových sítí a připojení k internetu
Přečteno 145 172×
Přečteno 85 339×
Přečteno 48 527×
Přečteno 38 715×
Přečteno 32 268×
User Warning
File: .../stable/php-libs/appShare/components/GlobalFooter.php:70
60: $svgResponse = $client->request('GET', '/svg/', ['auth' => ['Basic', null]]); 61: $svg = $svgResponse->getBody()->getContents(); 62: } catch (Exception) { 63: } 64: $footer = $svg . $footerHtml; 65: $response = new Nette\Application\Responses\TextResponse($footer); 66: $this->cache->save($cacheKey, $response, [ 67: Cache::Expire => self::CACHE_EXPIRE, 68: ]); 69: } else { 70: trigger_error('global-footer: status code ' . $htmlResponse->getStatusCode(), E_USER_WARNING); 71: } 72: } 73: return $result; 74: }
60: $svgResponse = $client->request('GET', '/svg/', ['auth' => ['Basic', null]]); 61: $svg = $svgResponse->getBody()->getContents(); 62: } catch (Exception) { 63: } 64: $footer = $svg . $footerHtml; 65: $response = new Nette\Application\Responses\TextResponse($footer); 66: $this->cache->save($cacheKey, $response, [ 67: Cache::Expire => self::CACHE_EXPIRE, 68: ]); 69: } else { 70: trigger_error('global-footer: status code ' . $htmlResponse->getStatusCode(), E_USER_WARNING); 71: } 72: } 73: return $result; 74: }
| $message | 'global-footer: status code 500'
|
|---|---|
| $error_level | 512
|
69: } else { 70: trigger_error('global-footer: status code ' . $htmlResponse->getStatusCode(), E_USER_WARNING); 71: } 72: } 73: return $result; 74: } 75: 76: public function render(): void { 77: $seznamVisitor = $this->seznamVisitorService->isVisitorFromSeznam() ? 'true' : 'false'; 78: $cacheKey = self::class . '_' . AppConfig::$usersys['site'] . '_' . $seznamVisitor; 79: $cachedResponse = $this->loadCachedResponse($cacheKey); 80: 81: $template = $this->getTemplate(); 82: if ($cachedResponse === null) { 83: $cachedResponse = $this->cache->load($cacheKey);
| $cacheKey | 'Shared_GlobalFooter_lupa_false'
|
|---|
49: 100% { transform: rotate(360deg); } 50: } 51: </style> 52: '; 53: echo LR\Filters::escapeHtmlText($handlerGw->callHandler('js', ['global/components/lazyComponent.js'])) /* line 31 */; 54: echo "\n"; 55: } 56: } else /* line 33 */ { 57: $object = $control->getComponent($component) /* line 34 */; 58: $method = 'render' . ($action ? ucfirst($action) : '') /* line 35 */; 59: echo LR\Filters::escapeHtmlText(call_user_func_array([$object, $method], $args)) /* line 36 */; 60: echo "\n"; 61: } 62: return get_defined_vars(); 63: }
26: width: 20px; height: 20px; border: 4px solid #aaa; border-bottom-color: transparent; border-radius: 50%; 27: display: inline-block; box-sizing: border-box; 28: animation: rotation 1s linear infinite; 29: } 30: @keyframes rotation { 31: 0% { transform: rotate(0deg); } 32: 100% { transform: rotate(360deg); } 33: } 34: </style> 35: 36: {$handlerGw->callHandler('js', ['global/components/lazyComponent.js'])} 37: 38: {/if} 39: 40: {else}
161: /** 162: * Renders template. 163: * @internal 164: */ 165: public function render(?string $block = null): void 166: { 167: $level = ob_get_level(); 168: try { 169: $this->prepare(); 170: if (!$this->doRender($block)) { 171: $this->main(); 172: } 173: 174: } catch (\Throwable $e) { 175: while (ob_get_level() > $level) {
92: 93: /** 94: * Renders template to output. 95: * @param object|mixed[] $params 96: */ 97: public function render(string $name, $params = [], ?string $block = null): void 98: { 99: $template = $this->createTemplate($name, $this->processParams($params)); 100: $template->global->coreCaptured = false; 101: ($this->probe)($template); 102: $template->render($block); 103: } 104: 105: 106: /**
| $block | null
|
|---|
40: /** 41: * Renders template to output. 42: */ 43: public function render(?string $file = null, array $params = []): void 44: { 45: Nette\Utils\Arrays::toObject($params, $this); 46: if (\cfg::$debug['tmplDump']) { 47: $filePath = strstr($file ? : $this->file, "templates/"); 48: echo '<pre class="nette-dump"><span class="nette-dump-object">' . get_class($this->control) . ": $filePath" . '</span></pre>'; 49: } 50: $this->latte->render($file ?: $this->file, $this); 51: } 52: 53: 54: /**
| $name | '/www/virtual/martin/stable/php-libs/appShare/templates/components/LazyComponent.latte'
|
|---|---|
| $params |
255: 256: if (!$this->isAjax()) { 257: $this['cssLoader']->render(); 258: $this['jsLoader']->render(); 259: } 260: 261: if ($this->useWrappingElement) { 262: $this->renderBeginWrappingElement(); 263: } 264: 265: $template->render(); 266: 267: if ($this->useWrappingElement) { 268: $this->renderEndWrappingElement(); 269: }
15: } else { 16: $this->template->component = $name; 17: $this->template->action = null; 18: } 19: 20: $this->template->args = $args; 21: 22: $this->template->defer = $defer; 23: 24: self::$rendered = true; 25: parent::render(); 26: } 27: 28: /** 29: * Fallback to diredtly create component instead of lazy loading when it is disabled in template config
| $name | 'globalFooter'
|
|---|
91: unset($parameters[\Shared_BaseComponent::EXTRA_PARAM_NAME]); 92: } else { 93: $control->clearExtraParameters(); 94: } 95: } 96: 97: if ($isDebug) { 98: // call method this way is much faster 99: // see http://grokbase.com/t/php/php-internals/115qyp1bjk/call-user-func-performance-and-dynamic-code 100: if (!$parameters) $control->$method(); 101: else call_user_func_array([$control, $method], array_values($parameters)); 102: return; 103: } 104: 105: try {
| $callback | |
|---|---|
| $args |
116: $this->renderBlock('commonFooter--lowerbox', get_defined_vars()) /* line 38 */; 117: echo "\n"; 118: } 119: if ($globalFooter === false) /* line 40 */ { 120: echo '<div class="section--footer section footer"> 121: '; 122: $this->createTemplate(IInfo\LatteMacros::getTemplateDestination('projectInfo.latte', $this->getName(), true), $this->getParameters(), "includeX")->render(); 123: echo '</div> 124: '; 125: } else /* line 45 */ { 126: IInfo\LatteMacros::renderControl("lazyComponent", "render", ['globalFooter'], $this->global->uiControl); 127: } 128: echo '</div> 129: </div> 130: </div>
1: 2: {default $hasPageAdverts = true} 3: {default $isFooterTypeAdditonalContent = true} 4: {default $isLayoutPageColumnsClosed = false} 5: 6: {* SWITCH ON GLOBAL FOOTER FOR IINFO WEBS + specific Tuesday (except stahuj, slunecnice) *} 7: {default $globalFooter = true} 8: {* VARIABLE USED IN appShare/templates/@footer--tuesday.latte *} 9: {default $isTuesday = false} 10: 11: {block CommonFooterBlock} 12: {if !$isLayoutPageColumnsClosed} 13: </div> {* end tag for "layout-page-column--main" if "@footer--RootLike.latte" is not used (it contains sidebar where the tag is needed to be closed before sidebar's content) *} 14: {/if} 15: </div> {* for "layout-page-columns" *}
| $control | |
|---|---|
| $method | 'render'
|
| $parameters | |
| $container |
299: 300: if (!$block) { 301: $hint = ($t = Latte\Helpers::getSuggestion($this->getBlockNames($layer), $name)) 302: ? ", did you mean '$t'?" 303: : '.'; 304: $name = $layer ? "$layer $name" : $name; 305: throw new Latte\RuntimeException("Cannot include undefined block '$name'$hint"); 306: } 307: 308: $this->filter( 309: function () use ($block, $params): void { reset($block->functions)($params); }, 310: $mod, 311: $block->contentType, 312: "block $name" 313: );
| $ʟ_args | null
|
|---|
354: $block->functions = array_merge($block->functions, $functions); 355: } 356: 357: 358: /** 359: * @param string|\Closure|null $mod content-type name or modifier closure 360: */ 361: private function filter(callable $function, $mod, string $contentType, string $name): void 362: { 363: if ($mod === null || $mod === $contentType) { 364: $function(); 365: 366: } elseif ($mod instanceof \Closure) { 367: echo $mod($this->capture($function), $contentType); 368:
302: ? ", did you mean '$t'?" 303: : '.'; 304: $name = $layer ? "$layer $name" : $name; 305: throw new Latte\RuntimeException("Cannot include undefined block '$name'$hint"); 306: } 307: 308: $this->filter( 309: function () use ($block, $params): void { reset($block->functions)($params); }, 310: $mod, 311: $block->contentType, 312: "block $name" 313: ); 314: } 315: 316:
| $function | |
|---|---|
| $mod | null
|
| $contentType | 'html'
|
| $name | 'block CommonFooterBlock'
|
14: { 15: extract($this->params); 16: extract(['hasPageAdverts' => true], EXTR_SKIP) /* line 1 */; 17: extract(['isFooterTypeAdditonalContent' => true], EXTR_SKIP) /* line 2 */; 18: extract(['isLayoutPageColumnsClosed' => false], EXTR_SKIP) /* line 3 */; 19: extract(['globalFooter' => true], EXTR_SKIP) /* line 5 */; 20: extract(['isTuesday' => false], EXTR_SKIP) /* line 7 */; 21: if ($this->getParentName()) { 22: return get_defined_vars(); 23: } 24: $this->renderBlock('CommonFooterBlock', get_defined_vars()) /* line 8 */; 25: echo ' 26: </div> 27: '; 28: if (!isset($isVisitorFromSeznam) || $isVisitorFromSeznam === false) /* line 55 */ {
1: 2: {default $hasPageAdverts = true} 3: {default $isFooterTypeAdditonalContent = true} 4: {default $isLayoutPageColumnsClosed = false} 5: 6: {* SWITCH ON GLOBAL FOOTER FOR IINFO WEBS + specific Tuesday (except stahuj, slunecnice) *} 7: {default $globalFooter = true} 8: {* VARIABLE USED IN appShare/templates/@footer--tuesday.latte *} 9: {default $isTuesday = false} 10: 11: {block CommonFooterBlock} 12: {if !$isLayoutPageColumnsClosed} 13: </div> {* end tag for "layout-page-column--main" if "@footer--RootLike.latte" is not used (it contains sidebar where the tag is needed to be closed before sidebar's content) *} 14: {/if} 15: </div> {* for "layout-page-columns" *}
| $name | 'CommonFooterBlock'
|
|---|---|
| $params |
161: /** 162: * Renders template. 163: * @internal 164: */ 165: public function render(?string $block = null): void 166: { 167: $level = ob_get_level(); 168: try { 169: $this->prepare(); 170: if (!$this->doRender($block)) { 171: $this->main(); 172: } 173: 174: } catch (\Throwable $e) { 175: while (ob_get_level() > $level) {
193: 194: if ($this->referenceType === 'import') { 195: if ($this->parentName) { 196: throw new Latte\RuntimeException('Imported template cannot use {extends} or {layout}, use {import}'); 197: } 198: 199: } elseif ($this->parentName) { // extends 200: ob_start(function () {}); 201: $this->params = $this->main(); 202: ob_end_clean(); 203: $this->createTemplate($this->parentName, $this->params, 'extends')->render($block); 204: 205: } elseif ($block !== null) { // single block rendering 206: $this->renderBlock($block, $this->params); 207:
| $block | null
|
|---|
160: 161: /** 162: * Renders template. 163: * @internal 164: */ 165: public function render(?string $block = null): void 166: { 167: $level = ob_get_level(); 168: try { 169: $this->prepare(); 170: if (!$this->doRender($block)) { 171: $this->main(); 172: } 173: 174: } catch (\Throwable $e) {
| $block | null
|
|---|
104: $this->createTemplate(IInfo\LatteMacros::getTemplateDestination('sidebar/ConsultingModule/detail.latte', $this->getName(), false), ['isErrorPage' => $isErrorPage] + $this->getParameters(), "includeX")->render(); 105: } elseif ($isSidebarTypeConsultingQuestions) /* line 97 */ { 106: $this->createTemplate(IInfo\LatteMacros::getTemplateDestination('sidebar/ConsultingModule/questions.latte', $this->getName(), false), ['isErrorPage' => $isErrorPage] + $this->getParameters(), "includeX")->render(); 107: } elseif ($isSidebarCryptoCurrencyExchange) /* line 99 */ { 108: $this->createTemplate(IInfo\LatteMacros::getTemplateDestination('sidebar/QuotationModule/cryptoCurrencyExchange.latte', $this->getName(), false), ['isErrorPage' => $isErrorPage] + $this->getParameters(), "includeX")->render(); 109: } elseif ($disableSidebar) /* line 101 */ { 110: } else /* line 102 */ { 111: $this->createTemplate(IInfo\LatteMacros::getTemplateDestination('sidebar/@default.latte', $this->getName(), false), ['isErrorPage' => $isErrorPage] + $this->getParameters(), "includeX")->render(); 112: } 113: } 114: $this->createTemplate(IInfo\LatteMacros::getTemplateDestination('commonFooter.latte', $this->getName(), false), ['isLayoutPageColumnsClosed' => $isLayoutPageColumnsClosedDefault,] + $this->getParameters(), "includeX")->render(); 115: return get_defined_vars(); 116: } 117: 118:
1: {default $isSidebarTypeActuality = false} 2: {default $isSidebarTypeAnniversaryComics = false} 3: {default $isSidebarTypeArchiveActualities = false} 4: {default $isSidebarTypeArchiveLabelDetail = false} 5: {default $isSidebarTypeArticle = false} 6: {default $isSidebarTypeAwards = false} 7: {default $isSidebarTypeBlogs = false} 8: {default $isSidebarTypeBlogsDetail = false} 9: {default $isSidebarTypeBlogsIndex = false} 10: {default $isSidebarTypeConsultingDetail = false} 11: {default $isSidebarTypeConsultingQuestions = false} 12: {default $isSidebarTypeDatabaseCatalog = false} 13: {default $isSidebarTypeDatabaseView = false} 14: {default $isSidebarTypeDiscussionDetail = false} 15: {default $isSidebarTypeIndex = false}
161: /** 162: * Renders template. 163: * @internal 164: */ 165: public function render(?string $block = null): void 166: { 167: $level = ob_get_level(); 168: try { 169: $this->prepare(); 170: if (!$this->doRender($block)) { 171: $this->main(); 172: } 173: 174: } catch (\Throwable $e) { 175: while (ob_get_level() > $level) {
193: 194: if ($this->referenceType === 'import') { 195: if ($this->parentName) { 196: throw new Latte\RuntimeException('Imported template cannot use {extends} or {layout}, use {import}'); 197: } 198: 199: } elseif ($this->parentName) { // extends 200: ob_start(function () {}); 201: $this->params = $this->main(); 202: ob_end_clean(); 203: $this->createTemplate($this->parentName, $this->params, 'extends')->render($block); 204: 205: } elseif ($block !== null) { // single block rendering 206: $this->renderBlock($block, $this->params); 207:
| $block | null
|
|---|
160: 161: /** 162: * Renders template. 163: * @internal 164: */ 165: public function render(?string $block = null): void 166: { 167: $level = ob_get_level(); 168: try { 169: $this->prepare(); 170: if (!$this->doRender($block)) { 171: $this->main(); 172: } 173: 174: } catch (\Throwable $e) {
| $block | null
|
|---|
110: '; 111: IInfo\LatteMacros::renderControl("similarArticles", "render", [], $this->global->uiControl); 112: echo '</div> 113: '; 114: if (isset($opinionsListing) && $opinionsListing) /* line 80 */ { 115: $_HT_macro_arg = $opinionsListing /* line 81 */; 116: IInfo\LatteMacros::renderLazyControl($this->global->uiPresenter, $_HT_macro_arg, []); 117: } 118: echo '</div> 119: '; 120: $this->createTemplate(IInfo\LatteMacros::getTemplateDestination('../../../footer.latte', $this->getName(), false), ['isSidebarTypeBlogsDetail' => true] + $this->getParameters(), "includeX")->render(); 121: return get_defined_vars(); 122: } 123: 124:
1: {includeX '../../../header.latte'} 2: 3: 4: {includeShared '/common/additionalCssResolver.inc.latte', 5: isPageWithFancyBox => true, 6: } 7: {includeShared '/common/additionalJsResolver.inc.latte', 8: isPageWithEasing => true, 9: isPageWithMouseWheel => true, 10: isPageWithFancyBox => true, 11: } 12: 13: 14: <div class="design-tile--version-1 design-tile"> 15:
161: /** 162: * Renders template. 163: * @internal 164: */ 165: public function render(?string $block = null): void 166: { 167: $level = ob_get_level(); 168: try { 169: $this->prepare(); 170: if (!$this->doRender($block)) { 171: $this->main(); 172: } 173: 174: } catch (\Throwable $e) { 175: while (ob_get_level() > $level) {
193: 194: if ($this->referenceType === 'import') { 195: if ($this->parentName) { 196: throw new Latte\RuntimeException('Imported template cannot use {extends} or {layout}, use {import}'); 197: } 198: 199: } elseif ($this->parentName) { // extends 200: ob_start(function () {}); 201: $this->params = $this->main(); 202: ob_end_clean(); 203: $this->createTemplate($this->parentName, $this->params, 'extends')->render($block); 204: 205: } elseif ($block !== null) { // single block rendering 206: $this->renderBlock($block, $this->params); 207:
| $block | null
|
|---|
160: 161: /** 162: * Renders template. 163: * @internal 164: */ 165: public function render(?string $block = null): void 166: { 167: $level = ob_get_level(); 168: try { 169: $this->prepare(); 170: if (!$this->doRender($block)) { 171: $this->main(); 172: } 173: 174: } catch (\Throwable $e) {
| $block | null
|
|---|
92: 93: /** 94: * Renders template to output. 95: * @param object|mixed[] $params 96: */ 97: public function render(string $name, $params = [], ?string $block = null): void 98: { 99: $template = $this->createTemplate($name, $this->processParams($params)); 100: $template->global->coreCaptured = false; 101: ($this->probe)($template); 102: $template->render($block); 103: } 104: 105: 106: /**
| $block | null
|
|---|
40: /** 41: * Renders template to output. 42: */ 43: public function render(?string $file = null, array $params = []): void 44: { 45: Nette\Utils\Arrays::toObject($params, $this); 46: if (\cfg::$debug['tmplDump']) { 47: $filePath = strstr($file ? : $this->file, "templates/"); 48: echo '<pre class="nette-dump"><span class="nette-dump-object">' . get_class($this->control) . ": $filePath" . '</span></pre>'; 49: } 50: $this->latte->render($file ?: $this->file, $this); 51: } 52: 53: 54: /**
| $name | '/www/virtual/martin/stable/lupa/app/templates/BlogsModule/ArticleModule/Article/default.latte'
|
|---|---|
| $params |
40: return $this->source; 41: } 42: 43: 44: /** 45: * Sends response to output. 46: */ 47: public function send(Nette\Http\IRequest $httpRequest, Nette\Http\IResponse $httpResponse): void 48: { 49: if ($this->source instanceof Nette\Application\UI\Template) { 50: $this->source->render(); 51: 52: } else { 53: echo $this->source; 54: }
161: 162: Arrays::invoke($this->onPresenter, $this, $this->presenter); 163: $response = $this->presenter->run(clone $request); 164: 165: if ($response instanceof Responses\ForwardResponse) { 166: $request = $response->getRequest(); 167: goto process; 168: } 169: 170: Arrays::invoke($this->onResponse, $this, $response); 171: $response->send($this->httpRequest, $this->httpResponse); 172: } 173: 174: 175: public function processException(\Throwable $e): void
| $httpRequest | |
|---|---|
| $httpResponse |
80: } 81: 82: 83: /** 84: * Dispatch a HTTP request to a front controller. 85: */ 86: public function run(): void 87: { 88: try { 89: Arrays::invoke($this->onStartup, $this); 90: $this->processRequest($this->createInitialRequest()); 91: Arrays::invoke($this->onShutdown, $this); 92: 93: } catch (\Throwable $e) { 94: Arrays::invoke($this->onError, $this, $e);
| $request |
|---|
13: !empty($_SERVER["HTTPS"]), 14: 'http://forum.lupa.cz/', 15: trim(AppConfig::$modulesUrl['blogs'], '/'), 16: true 17: ); 18: $redirector->injectDibiConnections($bootstrap->getContext()->getService('dibiConnections')); 19: $redirector->redirectUrl(); 20: unset($redirector); 21: 22: $bootstrap->setupRouting(); 23: $bootstrap->getApplication()->run(); 24:
| HTTPS | 'on'
|
|---|---|
| SCRIPT_URL | '/internet/seo-optimalizace-pro-vyhledavace-nebo-pro-lidi/'
|
| SCRIPT_URI | 'http://blog-lupa-martin.imho.cz/internet/seo-optimalizace-pro-vyhledavace-nebo-pro-lidi/'
|
| TZ | 'Europe/Prague'
|
| HTTP_HOST | 'blog-lupa-martin.imho.cz'
|
| HTTP_ACCESS_CONTROL_ALLOW_ORIGIN | '*'
|
| HTTP_REFERRER_POLICY | 'no-referrer-when-downgrade'
|
| HTTP_X_REAL_IP | '216.73.216.174'
|
| HTTP_CONNECTION | 'close'
|
| HTTP_ACCEPT | '*/*'
|
| HTTP_USER_AGENT | 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)'
|
| HTTP_ACCEPT_ENCODING | 'gzip, br, zstd, deflate'
|
| HTTP_COOKIE | 'tracy-session=86b76d2d69; _nss=1; opinionsOrdering=insert_flat'
|
| HTTP_X_HTTPS | '1'
|
| PATH | '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
|
| LD_LIBRARY_PATH | '/opt/mozjpeg/lib64'
|
| SERVER_SIGNATURE | |
| SERVER_SOFTWARE | 'Apache/2.4.38 (Debian)'
|
| SERVER_NAME | 'blog-lupa-martin.imho.cz'
|
| SERVER_ADDR | '127.0.0.1'
|
| SERVER_PORT | '80'
|
| REMOTE_ADDR | '216.73.216.174'
|
| DOCUMENT_ROOT | '/www/virtual/martin/stable/lupa/document_root/'
|
| REQUEST_SCHEME | 'http'
|
| CONTEXT_PREFIX | ''
|
| CONTEXT_DOCUMENT_ROOT | '/www/virtual/martin/stable/lupa/document_root/'
|
| SERVER_ADMIN | '[no address given]'
|
| SCRIPT_FILENAME | '/www/virtual/martin/stable/lupa/document_root/index.php'
|
| REMOTE_PORT | '46428'
|
| GATEWAY_INTERFACE | 'CGI/1.1'
|
| SERVER_PROTOCOL | 'HTTP/1.0'
|
| REQUEST_METHOD | 'GET'
|
| QUERY_STRING | |
| REQUEST_URI | |
| SCRIPT_NAME | '/internet/seo-optimalizace-pro-vyhledavace-nebo-pro-lidi/'
|
| PHP_SELF | '/internet/seo-optimalizace-pro-vyhledavace-nebo-pro-lidi/'
|
| REQUEST_TIME_FLOAT | 1763638627.93644
|
| REQUEST_TIME | 1763638627
|
| __NF | Nette Session |
|---|
| Nette.Http.UserStorage/ | null
|
|---|
| APP_DIR | '/www/virtual/martin/stable/lupa/app'
|
|---|---|
| APP_LIB_DIR | '/www/virtual/martin/stable/lupa/app/libs'
|
| LIB_DIR | '/www/virtual/martin/stable/php-libs'
|
| APP_SHARED_DIR | '/www/virtual/martin/stable/php-libs/appShare'
|
| APP_SHARED_LIB_DIR | '/www/virtual/martin/stable/php-libs/appShare/libs'
|
| APP_TEMPLATE_DIR | '/www/virtual/martin/stable/lupa/app/templates'
|
| APP_SHARED_TEMPLATE_DIR | '/www/virtual/martin/stable/php-libs/appShare/templates'
|
| WWW_DIR | '/www/virtual/martin/stable/lupa/document_root'
|
| RAMDISK | '/mnt/ramdisk'
|
| WORK_DIR | '/www/virtual/martin/stable/lupa/work'
|
| CACHE_DIR | '/www/virtual/martin/stable/lupa/work/cache'
|
| NETTE_CACHE_DIR | '/www/virtual/martin/stable/lupa/work/cache.nette'
|
| LOCAL_CACHE_DIR | '/www/virtual/martin/stable/lupa/work/cache.local'
|
| CHARSET | 'utf-8'
|
| DB_CHARSET | 'utf8'
|
| DB_ERROR_DUPLICATE_ENTRY | 1062
|
| MYSQLI_REFRESH_REPLICA | 64
|
| HTMLPURIFIER_PREFIX | '/www/virtual/martin/stable/lupa/vendor/ezyang/htmlpurifier/library'
|
| GEOIP_COUNTRY_BEGIN | 16776960
|
| GEOIP_STATE_BEGIN_REV0 | 16700000
|
| GEOIP_STATE_BEGIN_REV1 | 16000000
|
| GEOIP_STANDARD | 0
|
| GEOIP_MEMORY_CACHE | 1
|
| GEOIP_SHARED_MEMORY | 2
|
| STRUCTURE_INFO_MAX_SIZE | 20
|
| DATABASE_INFO_MAX_SIZE | 100
|
| GEOIP_COUNTRY_EDITION | 1
|
| GEOIP_PROXY_EDITION | 8
|
| GEOIP_ASNUM_EDITION | 9
|
| GEOIP_NETSPEED_EDITION | 10
|
| GEOIP_REGION_EDITION_REV0 | 7
|
| GEOIP_REGION_EDITION_REV1 | 3
|
| GEOIP_CITY_EDITION_REV0 | 6
|
| GEOIP_CITY_EDITION_REV1 | 2
|
| GEOIP_ORG_EDITION | 5
|
| GEOIP_ISP_EDITION | 4
|
| SEGMENT_RECORD_LENGTH | 3
|
| STANDARD_RECORD_LENGTH | 3
|
| ORG_RECORD_LENGTH | 4
|
| MAX_RECORD_LENGTH | 4
|
| MAX_ORG_RECORD_LENGTH | 300
|
| GEOIP_SHM_KEY | 1329681409
|
| US_OFFSET | 1
|
| CANADA_OFFSET | 677
|
| WORLD_OFFSET | 1353
|
| FIPS_RANGE | 360
|
| GEOIP_UNKNOWN_SPEED | 0
|
| GEOIP_DIALUP_SPEED | 1
|
| GEOIP_CABLEDSL_SPEED | 2
|
| GEOIP_CORPORATE_SPEED | 3
|
| GEOIP_DOMAIN_EDITION | 11
|
| GEOIP_COUNTRY_EDITION_V6 | 12
|
| GEOIP_LOCATIONA_EDITION | 13
|
| GEOIP_ACCURACYRADIUS_EDITION | 14
|
| GEOIP_CITYCOMBINED_EDITION | 15
|
| GEOIP_CITY_EDITION_REV1_V6 | 30
|
| GEOIP_CITY_EDITION_REV0_V6 | 31
|
| GEOIP_NETSPEED_EDITION_REV1 | 32
|
| GEOIP_NETSPEED_EDITION_REV1_V6 | 33
|
| GEOIP_USERTYPE_EDITION | 28
|
| GEOIP_USERTYPE_EDITION_V6 | 29
|
| GEOIP_ASNUM_EDITION_V6 | 21
|
| GEOIP_ISP_EDITION_V6 | 22
|
| GEOIP_ORG_EDITION_V6 | 23
|
| GEOIP_DOMAIN_EDITION_V6 | 24
|
| CITYCOMBINED_FIXED_RECORD | 7
|
| FULL_RECORD_LENGTH | 50
|
| TEXY_ALL | true
|
| TEXY_NONE | false
|
| TEXY_CONTENT_MARKUP | |
| TEXY_CONTENT_REPLACED | |
| TEXY_CONTENT_TEXTUAL | |
| TEXY_CONTENT_BLOCK | |
| TEXY_VERSION | '2.9.3'
|
| TEXY_HEADING_DYNAMIC | 1
|
| TEXY_HEADING_FIXED | 2
|
| TEXY_CHAR | 'A-Za-z\x{C0}-\x{2FF}\x{370}-\x{1EFF}'
|
| TEXY_MARK | '\x14-\x1F'
|
| TEXY_MODIFIER | |
| TEXY_MODIFIER_H | |
| TEXY_MODIFIER_HV | |
| TEXY_IMAGE | |
| TEXY_LINK_URL | |
| TEXY_LINK | |
| TEXY_LINK_N | |
| TEXY_EMAIL | |
| TEXY_URLSCHEME | '[a-z][a-z0-9+.-]{0,20}:'
|
| Apache Version | Apache/2.4.38 (Debian) |
| Apache API Version | 20120211 |
| Server Administrator | [no address given] |
| Hostname:Port | lupa-martin.imho.cz:0 |
| User/Group | www-data(33)/33 |
| Max Requests | Per Child: 0 - Keep Alive: on - Max Per Connection: 100 |
| Timeouts | Connection: 300 - Keep-Alive: 5 |
| Virtual Server | Yes |
| Server Root | /etc/apache2 |
| Loaded Modules | core mod_so mod_watchdog http_core mod_log_config mod_logio mod_version mod_unixd mod_access_compat mod_alias mod_auth_basic mod_authn_core mod_authn_file mod_authz_core mod_authz_groupfile mod_authz_host mod_authz_user mod_autoindex mod_cache mod_cgi mod_deflate mod_dir mod_env mod_expires mod_fcgid mod_file_cache mod_filter mod_headers mod_include mod_mime prefork mod_negotiation mod_php mod_proxy mod_proxy_connect mod_proxy_fcgi mod_proxy_http mod_remoteip mod_reqtimeout mod_rewrite mod_setenvif mod_slotmem_shm mod_socache_shmcb mod_ssl mod_status mod_userdir |
| Directive | Local Value | Master Value |
|---|---|---|
| engine | On | On |
| last_modified | Off | Off |
| xbithack | Off | Off |
| Variable | Value |
|---|---|
| HTTPS | on |
| SCRIPT_URL | /internet/seo-optimalizace-pro-vyhledavace-nebo-pro-lidi/ |
| SCRIPT_URI | http://blog-lupa-martin.imho.cz/internet/seo-optimalizace-pro-vyhledavace-nebo-pro-lidi/ |
| TZ | Europe/Prague |
| HTTP_HOST | blog-lupa-martin.imho.cz |
| HTTP_ACCESS_CONTROL_ALLOW_ORIGIN | * |
| HTTP_REFERRER_POLICY | no-referrer-when-downgrade |
| HTTP_X_REAL_IP | 216.73.216.174 |
| HTTP_CONNECTION | close |
| HTTP_ACCEPT | */* |
| HTTP_USER_AGENT | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| HTTP_ACCEPT_ENCODING | gzip, br, zstd, deflate |
| HTTP_COOKIE | tracy-session=86b76d2d69; _nss=1; opinionsOrdering=insert_flat |
| HTTP_X_HTTPS | 1 |
| PATH | /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| LD_LIBRARY_PATH | /opt/mozjpeg/lib64 |
| SERVER_SIGNATURE | <address>Apache/2.4.38 (Debian) Server at blog-lupa-martin.imho.cz Port 80</address> |
| SERVER_SOFTWARE | Apache/2.4.38 (Debian) |
| SERVER_NAME | blog-lupa-martin.imho.cz |
| SERVER_ADDR | 127.0.0.1 |
| SERVER_PORT | 80 |
| REMOTE_ADDR | 216.73.216.174 |
| DOCUMENT_ROOT | /www/virtual/martin/stable/lupa/document_root/ |
| REQUEST_SCHEME | http |
| CONTEXT_PREFIX | no value |
| CONTEXT_DOCUMENT_ROOT | /www/virtual/martin/stable/lupa/document_root/ |
| SERVER_ADMIN | [no address given] |
| SCRIPT_FILENAME | /www/virtual/martin/stable/lupa/document_root/index.php |
| REMOTE_PORT | 46428 |
| GATEWAY_INTERFACE | CGI/1.1 |
| SERVER_PROTOCOL | HTTP/1.0 |
| REQUEST_METHOD | GET |
| QUERY_STRING | XDEBUG_SESSION_STOP=1&do=opinionsListing-reorder&opinionsListing-order=thumbs |
| REQUEST_URI | /internet/seo-optimalizace-pro-vyhledavace-nebo-pro-lidi/?XDEBUG_SESSION_STOP=1&do=opinionsListing-reorder&opinionsListing-order=thumbs |
| SCRIPT_NAME | /internet/seo-optimalizace-pro-vyhledavace-nebo-pro-lidi/ |
| HTTP Request Headers | |
|---|---|
| HTTP Request | GET /internet/seo-optimalizace-pro-vyhledavace-nebo-pro-lidi/?XDEBUG_SESSION_STOP=1&do=opinionsListing-reorder&opinionsListing-order=thumbs HTTP/1.0 |
| Host | blog-lupa-martin.imho.cz |
| HTTP_X_FORWARDED_PROTO | https |
| Access-Control-Allow-Origin | * |
| Referrer-Policy | no-referrer-when-downgrade |
| X-Real-IP | 216.73.216.174 |
| Connection | close |
| accept | */* |
| user-agent | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| accept-encoding | gzip, br, zstd, deflate |
| cookie | tracy-session=86b76d2d69; _nss=1; opinionsOrdering=insert_flat |
| X-HTTPS | 1 |
| HTTP Response Headers | |
| Set-Cookie | XDEBUG_SESSION=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/; SameSite=Lax |
| X-Powered-By | Nette Framework 3 |
| X-Frame-Options | SAMEORIGIN |
| Set-Cookie | _nss=1; path=/; secure; HttpOnly; SameSite=Strict |
| Vary | X-Requested-With,Accept-Encoding |
| Set-Cookie | opinionsOrdering=thumbs; expires=Sat, 20-Dec-2025 11:37:07 GMT; Max-Age=2592000; path=/; secure; HttpOnly; SameSite=Lax |
| Content-Security-Policy | upgrade-insecure-requests |
| Content-Encoding | gzip |
| Referrer-Policy | no-referrer-when-downgrade |
| Access-Control-Allow-Origin | * |
| Access-Control-Allow-Headers | * |
| Connection | close |
| Content-Type | text/html; charset=utf-8 |
| BCMath support | enabled |
| Directive | Local Value | Master Value |
|---|---|---|
| bcmath.scale | 0 | 0 |
| BZip2 Support | Enabled |
| Stream Wrapper support | compress.bzip2:// |
| Stream Filter support | bzip2.decompress, bzip2.compress |
| BZip2 Version | 1.0.6, 6-Sept-2010 |
| Calendar support | enabled |
| PHP Version | 8.0.30 |
| Directive | Local Value | Master Value |
|---|---|---|
| allow_url_fopen | On | On |
| allow_url_include | Off | Off |
| arg_separator.input | & | & |
| arg_separator.output | & | & |
| auto_append_file | no value | no value |
| auto_globals_jit | On | On |
| auto_prepend_file | no value | no value |
| browscap | no value | no value |
| default_charset | UTF-8 | UTF-8 |
| default_mimetype | text/html | text/html |
| disable_classes | no value | no value |
| disable_functions | pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, | pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, |
| display_errors | On | Off |
| display_startup_errors | Off | Off |
| doc_root | no value | no value |
| docref_ext | no value | no value |
| docref_root | no value | no value |
| enable_dl | Off | Off |
| enable_post_data_reading | On | On |
| error_append_string | no value | no value |
| error_log | no value | no value |
| error_prepend_string | no value | no value |
| error_reporting | 32767 | 22527 |
| expose_php | Off | Off |
| extension_dir | /usr/lib/php/20200930 | /usr/lib/php/20200930 |
| file_uploads | On | On |
| hard_timeout | 2 | 2 |
| highlight.comment | #998; font-style: italic | #FF8000 |
| highlight.default | #000 | #0000BB |
| highlight.html | #06B | #000000 |
| highlight.keyword | #D24; font-weight: bold | #007700 |
| highlight.string | #080 | #DD0000 |
| html_errors | Off | On |
| ignore_repeated_errors | Off | Off |
| ignore_repeated_source | Off | Off |
| ignore_user_abort | Off | Off |
| implicit_flush | Off | Off |
| include_path | .:/usr/share/php:/www/virtual/martin/stable/php-libs:/www/virtual/martin/stable/lupa/app/libs:/www/virtual/martin/stable/php-libs/appShare/libs | .:/usr/share/php |
| input_encoding | no value | no value |
| internal_encoding | no value | no value |
| log_errors | Off | On |
| log_errors_max_len | 1024 | 1024 |
| mail.add_x_header | Off | Off |
| mail.force_extra_parameters | no value | no value |
| mail.log | no value | no value |
| max_execution_time | 3600 | 3600 |
| max_file_uploads | 20 | 20 |
| max_input_nesting_level | 64 | 64 |
| max_input_time | 60 | 60 |
| max_input_vars | 1000 | 1000 |
| max_multipart_body_parts | -1 | -1 |
| memory_limit | 256M | 256M |
| open_basedir | no value | no value |
| output_buffering | 4096 | 4096 |
| output_encoding | no value | no value |
| output_handler | no value | no value |
| post_max_size | 128M | 128M |
| precision | 14 | 14 |
| realpath_cache_size | 4096K | 4096K |
| realpath_cache_ttl | 120 | 120 |
| register_argc_argv | Off | Off |
| report_memleaks | On | On |
| report_zend_debug | Off | Off |
| request_order | GP | GP |
| sendmail_from | no value | no value |
| sendmail_path | /usr/sbin/sendmail -t -i | /usr/sbin/sendmail -t -i |
| serialize_precision | -1 | -1 |
| short_open_tag | Off | Off |
| SMTP | localhost | localhost |
| smtp_port | 25 | 25 |
| sys_temp_dir | no value | no value |
| syslog.facility | LOG_USER | LOG_USER |
| syslog.filter | no-ctrl | no-ctrl |
| syslog.ident | php | php |
| unserialize_callback_func | no value | no value |
| upload_max_filesize | 128M | 128M |
| upload_tmp_dir | no value | no value |
| user_dir | no value | no value |
| user_ini.cache_ttl | 300 | 300 |
| user_ini.filename | .user.ini | .user.ini |
| variables_order | GPCS | GPCS |
| xmlrpc_error_number | 0 | 0 |
| xmlrpc_errors | Off | Off |
| zend.assertions | -1 | -1 |
| zend.detect_unicode | On | On |
| zend.enable_gc | On | On |
| zend.exception_ignore_args | Off | On |
| zend.exception_string_param_max_len | 0 | 0 |
| zend.multibyte | Off | Off |
| zend.script_encoding | no value | no value |
| zend.signal_check | Off | Off |
| ctype functions | enabled |
| cURL support | enabled |
| cURL Information | 7.64.0 |
| Age | 4 |
| Features | |
| AsynchDNS | Yes |
| CharConv | No |
| Debug | No |
| GSS-Negotiate | No |
| IDN | Yes |
| IPv6 | Yes |
| krb4 | No |
| Largefile | Yes |
| libz | Yes |
| NTLM | Yes |
| NTLMWB | Yes |
| SPNEGO | Yes |
| SSL | Yes |
| SSPI | No |
| TLS-SRP | Yes |
| HTTP2 | Yes |
| GSSAPI | Yes |
| KERBEROS5 | Yes |
| UNIX_SOCKETS | Yes |
| PSL | Yes |
| HTTPS_PROXY | Yes |
| MULTI_SSL | No |
| BROTLI | No |
| Protocols | dict, file, ftp, ftps, gopher, http, https, imap, imaps, ldap, ldaps, pop3, pop3s, rtmp, rtsp, scp, sftp, smb, smbs, smtp, smtps, telnet, tftp |
| Host | x86_64-pc-linux-gnu |
| SSL Version | OpenSSL/1.1.1d |
| ZLib Version | 1.2.11 |
| libSSH Version | libssh2/1.8.0 |
| Directive | Local Value | Master Value |
|---|---|---|
| curl.cainfo | no value | no value |
| date/time support | enabled |
| timelib version | 2020.03 |
| "Olson" Timezone Database Version | 0.system |
| Timezone Database | internal |
| Default timezone | Europe/Berlin |
| Directive | Local Value | Master Value |
|---|---|---|
| date.default_latitude | 31.7667 | 31.7667 |
| date.default_longitude | 35.2333 | 35.2333 |
| date.sunrise_zenith | 90.833333 | 90.833333 |
| date.sunset_zenith | 90.833333 | 90.833333 |
| date.timezone | no value | no value |
| DOM/XML | enabled |
| DOM/XML API Version | 20031129 |
| libxml Version | 2.9.14 |
| HTML Support | enabled |
| XPath Support | enabled |
| XPointer Support | enabled |
| Schema Support | enabled |
| RelaxNG Support | enabled |
| EXIF Support | enabled |
| Supported EXIF Version | 0220 |
| Supported filetypes | JPEG, TIFF |
| Multibyte decoding support using mbstring | enabled |
| Extended EXIF tag formats | Canon, Casio, Fujifilm, Nikon, Olympus, Samsung, Panasonic, DJI, Sony, Pentax, Minolta, Sigma, Foveon, Kyocera, Ricoh, AGFA, Epson |
| Directive | Local Value | Master Value |
|---|---|---|
| exif.decode_jis_intel | JIS | JIS |
| exif.decode_jis_motorola | JIS | JIS |
| exif.decode_unicode_intel | UCS-2LE | UCS-2LE |
| exif.decode_unicode_motorola | UCS-2BE | UCS-2BE |
| exif.encode_jis | no value | no value |
| exif.encode_unicode | ISO-8859-15 | ISO-8859-15 |
| FFI support | enabled |
|---|
| Directive | Local Value | Master Value |
|---|---|---|
| ffi.enable | preload | preload |
| ffi.preload | no value | no value |
| fileinfo support | enabled |
| libmagic | 539 |
| Input Validation and Filtering | enabled |
| Directive | Local Value | Master Value |
|---|---|---|
| filter.default | unsafe_raw | unsafe_raw |
| filter.default_flags | no value | no value |
| FTP support | enabled |
| FTPS support | enabled |
| GD Support | enabled |
| GD headers Version | 2.3.3 |
| GD library Version | 2.2.5 |
| FreeType Support | enabled |
| FreeType Linkage | with freetype |
| GIF Read Support | enabled |
| GIF Create Support | enabled |
| JPEG Support | enabled |
| PNG Support | enabled |
| WBMP Support | enabled |
| XPM Support | enabled |
| XBM Support | enabled |
| WebP Support | enabled |
| BMP Support | enabled |
| TGA Read Support | enabled |
| Directive | Local Value | Master Value |
|---|---|---|
| gd.jpeg_ignore_warning | 1 | 1 |
| GetText Support | enabled |
| gmp support | enabled |
| GMP version | 6.1.2 |
| hash support | enabled |
| Hashing Engines | md2 md4 md5 sha1 sha224 sha256 sha384 sha512/224 sha512/256 sha512 sha3-224 sha3-256 sha3-384 sha3-512 ripemd128 ripemd160 ripemd256 ripemd320 whirlpool tiger128,3 tiger160,3 tiger192,3 tiger128,4 tiger160,4 tiger192,4 snefru snefru256 gost gost-crypto adler32 crc32 crc32b crc32c fnv132 fnv1a32 fnv164 fnv1a64 joaat haval128,3 haval160,3 haval192,3 haval224,3 haval256,3 haval128,4 haval160,4 haval192,4 haval224,4 haval256,4 haval128,5 haval160,5 haval192,5 haval224,5 haval256,5 |
| MHASH support | Enabled |
| MHASH API Version | Emulated Support |
| iconv support | enabled |
| iconv implementation | glibc |
| iconv library version | 2.28 |
| Directive | Local Value | Master Value |
|---|---|---|
| iconv.input_encoding | no value | no value |
| iconv.internal_encoding | no value | no value |
| iconv.output_encoding | no value | no value |
| igbinary support | enabled |
| igbinary version | 3.2.13 |
| igbinary APCu serializer ABI | 0 |
| igbinary session support | yes |
| Directive | Local Value | Master Value |
|---|---|---|
| igbinary.compact_strings | On | On |
| imagick module | enabled |
|---|---|
| imagick module version | 3.6.0 |
| imagick classes | Imagick, ImagickDraw, ImagickPixel, ImagickPixelIterator, ImagickKernel |
| Imagick compiled with ImageMagick version | ImageMagick 6.9.10-23 Q16 x86_64 20190101 https://imagemagick.org |
| Imagick using ImageMagick library version | ImageMagick 6.9.10-23 Q16 x86_64 20190101 https://imagemagick.org |
| ImageMagick copyright | © 1999-2019 ImageMagick Studio LLC |
| ImageMagick release date | 20190101 |
| ImageMagick number of supported formats: | 242 |
| ImageMagick supported formats | 3FR, 3G2, 3GP, AAI, AI, ART, ARW, AVI, AVS, BGR, BGRA, BGRO, BIE, BMP, BMP2, BMP3, BRF, CAL, CALS, CANVAS, CAPTION, CIN, CIP, CLIP, CMYK, CMYKA, CR2, CRW, CUR, CUT, DATA, DCM, DCR, DCX, DDS, DFONT, DJVU, DNG, DOT, DPX, DXT1, DXT5, EPDF, EPI, EPS, EPS2, EPS3, EPSF, EPSI, EPT, EPT2, EPT3, ERF, EXR, FAX, FILE, FITS, FRACTAL, FTP, FTS, G3, G4, GIF, GIF87, GRADIENT, GRAY, GRAYA, GROUP4, GV, H, HALD, HDR, HEIC, HISTOGRAM, HRZ, HTM, HTML, HTTP, HTTPS, ICB, ICO, ICON, IIQ, INFO, INLINE, IPL, ISOBRL, ISOBRL6, J2C, J2K, JBG, JBIG, JNG, JNX, JP2, JPC, JPE, JPEG, JPG, JPM, JPS, JPT, JSON, K25, KDC, LABEL, M2V, M4V, MAC, MAGICK, MAP, MASK, MAT, MATTE, MEF, MIFF, MKV, MNG, MONO, MOV, MP4, MPC, MPEG, MPG, MRW, MSL, MSVG, MTV, MVG, NEF, NRW, NULL, ORF, OTB, OTF, PAL, PALM, PAM, PANGO, PATTERN, PBM, PCD, PCDS, PCL, PCT, PCX, PDB, PDF, PDFA, PEF, PES, PFA, PFB, PFM, PGM, PGX, PICON, PICT, PIX, PJPEG, PLASMA, PNG, PNG00, PNG24, PNG32, PNG48, PNG64, PNG8, PNM, PPM, PREVIEW, PS, PS2, PS3, PSB, PSD, PTIF, PWP, RADIAL-GRADIENT, RAF, RAS, RAW, RGB, RGBA, RGBO, RGF, RLA, RLE, RMF, RW2, SCR, SCT, SFW, SGI, SHTML, SIX, SIXEL, SPARSE-COLOR, SR2, SRF, STEGANO, SUN, SVG, SVGZ, TEXT, TGA, THUMBNAIL, TIFF, TIFF64, TILE, TIM, TTC, TTF, TXT, UBRL, UBRL6, UIL, UYVY, VDA, VICAR, VID, VIFF, VIPS, VST, WBMP, WEBP, WMF, WMV, WMZ, WPG, X, X3F, XBM, XC, XCF, XPM, XPS, XV, XWD, YCbCr, YCbCrA, YUV |
| Directive | Local Value | Master Value |
|---|---|---|
| imagick.allow_zero_dimension_images | 0 | 0 |
| imagick.locale_fix | 0 | 0 |
| imagick.progress_monitor | 0 | 0 |
| imagick.set_single_thread | 1 | 1 |
| imagick.shutdown_sleep_count | 10 | 10 |
| imagick.skip_version_check | 1 | 1 |
| IMAP c-Client Version | 2007f |
| SSL Support | enabled |
| Kerberos Support | enabled |
| Directive | Local Value | Master Value |
|---|---|---|
| imap.enable_insecure_rsh | Off | Off |
| Internationalization support | enabled |
|---|---|
| ICU version | 65.1 |
| ICU Data version | 65.1 |
| ICU Unicode version | 12.1 |
| Directive | Local Value | Master Value |
|---|---|---|
| intl.default_locale | cs-CZ | no value |
| intl.error_level | 0 | 0 |
| intl.use_exceptions | Off | Off |
| json support | enabled |
| LDAP Support | enabled |
| Total Links | 0/unlimited |
| API Version | 3001 |
| Vendor Name | OpenLDAP |
| Vendor Version | 20447 |
| SASL Support | Enabled |
| Directive | Local Value | Master Value |
|---|---|---|
| ldap.max_links | Unlimited | Unlimited |
| libXML support | active |
| libXML Compiled Version | 2.9.14 |
| libXML Loaded Version | 20912 |
| libXML streams | enabled |
| Multibyte Support | enabled |
| Multibyte string engine | libmbfl |
| HTTP input encoding translation | disabled |
| libmbfl version | 1.3.2 |
| mbstring extension makes use of "streamable kanji code filter and converter", which is distributed under the GNU Lesser General Public License version 2.1. |
|---|
| Multibyte (japanese) regex support | enabled |
| Multibyte regex (oniguruma) version | 6.9.1 |
| Directive | Local Value | Master Value |
|---|---|---|
| mbstring.detect_order | no value | no value |
| mbstring.encoding_translation | Off | Off |
| mbstring.http_input | no value | no value |
| mbstring.http_output | no value | no value |
| mbstring.http_output_conv_mimetypes | ^(text/|application/xhtml\+xml) | ^(text/|application/xhtml\+xml) |
| mbstring.internal_encoding | no value | no value |
| mbstring.language | neutral | neutral |
| mbstring.regex_retry_limit | 1000000 | 1000000 |
| mbstring.regex_stack_limit | 100000 | 100000 |
| mbstring.strict_detection | Off | Off |
| mbstring.substitute_character | no value | no value |
| MysqlI Support | enabled |
|---|---|
| Client API library version | mysqlnd 8.0.30 |
| Active Persistent Links | 0 |
| Inactive Persistent Links | 0 |
| Active Links | 3 |
| Directive | Local Value | Master Value |
|---|---|---|
| mysqli.allow_local_infile | Off | Off |
| mysqli.allow_persistent | On | On |
| mysqli.default_host | no value | no value |
| mysqli.default_port | 3306 | 3306 |
| mysqli.default_pw | no value | no value |
| mysqli.default_socket | /var/run/mysqld/mysqld.sock | /var/run/mysqld/mysqld.sock |
| mysqli.default_user | no value | no value |
| mysqli.max_links | Unlimited | Unlimited |
| mysqli.max_persistent | Unlimited | Unlimited |
| mysqli.reconnect | Off | Off |
| mysqli.rollback_on_cached_plink | Off | Off |
| mysqlnd | enabled |
|---|---|
| Version | mysqlnd 8.0.30 |
| Compression | supported |
| core SSL | supported |
| extended SSL | supported |
| Command buffer size | 4096 |
| Read buffer size | 32768 |
| Read timeout | 86400 |
| Collecting statistics | Yes |
| Collecting memory statistics | No |
| Tracing | n/a |
| Loaded plugins | mysqlnd,debug_trace,auth_plugin_mysql_native_password,auth_plugin_mysql_clear_password,auth_plugin_caching_sha2_password,auth_plugin_sha256_password |
| API Extensions | mysqli,pdo_mysql |
| ODBC Support | enabled |
|---|---|
| Active Persistent Links | 0 |
| Active Links | 0 |
| ODBC library | unixODBC |
| ODBCVER | 0x0380 |
| ODBC_CFLAGS | -I/usr/include |
| ODBC_LFLAGS | -L/usr/lib |
| ODBC_LIBS | -lodbc |
| Directive | Local Value | Master Value |
|---|---|---|
| odbc.allow_persistent | On | On |
| odbc.check_persistent | On | On |
| odbc.default_cursortype | Static cursor | Static cursor |
| odbc.default_db | no value | no value |
| odbc.default_pw | no value | no value |
| odbc.default_user | no value | no value |
| odbc.defaultbinmode | return as is | return as is |
| odbc.defaultlrl | return up to 4096 bytes | return up to 4096 bytes |
| odbc.max_links | Unlimited | Unlimited |
| odbc.max_persistent | Unlimited | Unlimited |
| OpenSSL support | enabled |
| OpenSSL Library Version | OpenSSL 1.1.1d 10 Sep 2019 |
| OpenSSL Header Version | OpenSSL 1.1.1n 15 Mar 2022 |
| Openssl default config | /usr/lib/ssl/openssl.cnf |
| Directive | Local Value | Master Value |
|---|---|---|
| openssl.cafile | no value | no value |
| openssl.capath | no value | no value |
| PCRE (Perl Compatible Regular Expressions) Support | enabled |
| PCRE Library Version | 10.39 2021-10-29 |
| PCRE Unicode Version | 14.0.0 |
| PCRE JIT Support | enabled |
| PCRE JIT Target | x86 64bit (little endian + unaligned) |
| Directive | Local Value | Master Value |
|---|---|---|
| pcre.backtrack_limit | 1000000 | 1000000 |
| pcre.jit | 1 | 1 |
| pcre.recursion_limit | 100000 | 100000 |
| PDO support | enabled |
|---|---|
| PDO drivers | firebird, mysql, odbc, sqlite, sqlsrv |
| PDO Driver for Firebird | enabled |
|---|---|
| Client Library Version | LI-V6.3.5.33100 Firebird 3.0 |
| PDO Driver for MySQL | enabled |
|---|---|
| Client API version | mysqlnd 8.0.30 |
| Directive | Local Value | Master Value |
|---|---|---|
| pdo_mysql.default_socket | /var/run/mysqld/mysqld.sock | /var/run/mysqld/mysqld.sock |
| PDO Driver for ODBC (unixODBC) | enabled |
|---|---|
| ODBC Connection Pooling | Enabled, strict matching |
| PDO Driver for SQLite 3.x | enabled |
|---|---|
| SQLite Library | 3.27.2 |
| pdo_sqlsrv support | enabled |
|---|---|
| ExtensionVer | 5.11.0 |
| Directive | Local Value | Master Value |
|---|---|---|
| pdo_sqlsrv.client_buffer_max_kb_size | 10240 | 10240 |
| pdo_sqlsrv.log_severity | 0 | 0 |
| pdo_sqlsrv.report_additional_errors | 1 | 1 |
| pdo_sqlsrv.set_locale_info | 2 | 2 |
| Phar: PHP Archive support | enabled |
|---|---|
| Phar API version | 1.1.1 |
| Phar-based phar archives | enabled |
| Tar-based phar archives | enabled |
| ZIP-based phar archives | enabled |
| gzip compression | enabled |
| bzip2 compression | enabled |
| Native OpenSSL support | enabled |
|
Phar based on pear/PHP_Archive, original concept by Davey Shafik. Phar fully realized by Gregory Beaver and Marcus Boerger. Portions of tar implementation Copyright (c) 2003-2009 Tim Kientzle. |
| Directive | Local Value | Master Value |
|---|---|---|
| phar.cache_list | no value | no value |
| phar.readonly | On | On |
| phar.require_hash | On | On |
| POSIX support | enabled |
| PSpell Support | enabled |
| Readline Support | enabled |
|---|---|
| Readline library | EditLine wrapper |
| Directive | Local Value | Master Value |
|---|---|---|
| cli.pager | no value | no value |
| cli.prompt | \b \> | \b \> |
| Reflection | enabled |
| Session Support | enabled |
| Registered save handlers | files user |
| Registered serializer handlers | php_serialize php php_binary igbinary |
| Directive | Local Value | Master Value |
|---|---|---|
| session.auto_start | Off | Off |
| session.cache_expire | 180 | 180 |
| session.cache_limiter | nocache | nocache |
| session.cookie_domain | no value | no value |
| session.cookie_httponly | no value | no value |
| session.cookie_lifetime | 0 | 0 |
| session.cookie_path | / | / |
| session.cookie_samesite | no value | no value |
| session.cookie_secure | 0 | 0 |
| session.gc_divisor | 1000 | 1000 |
| session.gc_maxlifetime | 1440 | 1440 |
| session.gc_probability | 0 | 0 |
| session.lazy_write | On | On |
| session.name | PHPSESSID | PHPSESSID |
| session.referer_check | no value | no value |
| session.save_handler | files | files |
| session.save_path | /var/lib/php/sessions | /var/lib/php/sessions |
| session.serialize_handler | php | php |
| session.sid_bits_per_character | 5 | 5 |
| session.sid_length | 26 | 26 |
| session.upload_progress.cleanup | On | On |
| session.upload_progress.enabled | On | On |
| session.upload_progress.freq | 1% | 1% |
| session.upload_progress.min_freq | 1 | 1 |
| session.upload_progress.name | PHP_SESSION_UPLOAD_PROGRESS | PHP_SESSION_UPLOAD_PROGRESS |
| session.upload_progress.prefix | upload_progress_ | upload_progress_ |
| session.use_cookies | 1 | 1 |
| session.use_only_cookies | 1 | 1 |
| session.use_strict_mode | 0 | 0 |
| session.use_trans_sid | 0 | 0 |
| shmop support | enabled |
| SimpleXML support | enabled |
| Schema support | enabled |
| NET-SNMP Support | enabled |
| NET-SNMP Version | 5.7.3 |
| Soap Client | enabled |
| Soap Server | enabled |
| Directive | Local Value | Master Value |
|---|---|---|
| soap.wsdl_cache | 1 | 1 |
| soap.wsdl_cache_dir | /tmp | /tmp |
| soap.wsdl_cache_enabled | On | On |
| soap.wsdl_cache_limit | 5 | 5 |
| soap.wsdl_cache_ttl | 86400 | 86400 |
| Sockets Support | enabled |
| sodium support | enabled |
|---|---|
| libsodium headers version | 1.0.18 |
| libsodium library version | 1.0.18 |
| SPL support | enabled |
|---|---|
| Interfaces | OuterIterator, RecursiveIterator, SeekableIterator, SplObserver, SplSubject |
| Classes | AppendIterator, ArrayIterator, ArrayObject, BadFunctionCallException, BadMethodCallException, CachingIterator, CallbackFilterIterator, DirectoryIterator, DomainException, EmptyIterator, FilesystemIterator, FilterIterator, GlobIterator, InfiniteIterator, InvalidArgumentException, IteratorIterator, LengthException, LimitIterator, LogicException, MultipleIterator, NoRewindIterator, OutOfBoundsException, OutOfRangeException, OverflowException, ParentIterator, RangeException, RecursiveArrayIterator, RecursiveCachingIterator, RecursiveCallbackFilterIterator, RecursiveDirectoryIterator, RecursiveFilterIterator, RecursiveIteratorIterator, RecursiveRegexIterator, RecursiveTreeIterator, RegexIterator, RuntimeException, SplDoublyLinkedList, SplFileInfo, SplFileObject, SplFixedArray, SplHeap, SplMinHeap, SplMaxHeap, SplObjectStorage, SplPriorityQueue, SplQueue, SplStack, SplTempFileObject, UnderflowException, UnexpectedValueException |
| SQLite3 support | enabled |
|---|---|
| SQLite Library | 3.27.2 |
| Directive | Local Value | Master Value |
|---|---|---|
| sqlite3.defensive | On | On |
| sqlite3.extension_dir | no value | no value |
| sqlsrv support | enabled |
|---|---|
| ExtensionVer | 5.11.0 |
| Directive | Local Value | Master Value |
|---|---|---|
| sqlsrv.ClientBufferMaxKBSize | 10240 | 10240 |
| sqlsrv.LogSeverity | 0 | 0 |
| sqlsrv.LogSubsystems | 0 | 0 |
| sqlsrv.SetLocaleInfo | 2 | 2 |
| sqlsrv.WarningsReturnAsErrors | On | On |
| Dynamic Library Support | enabled |
| Path to sendmail | /usr/sbin/sendmail -t -i |
| Directive | Local Value | Master Value |
|---|---|---|
| assert.active | On | On |
| assert.bail | Off | Off |
| assert.callback | no value | no value |
| assert.exception | On | On |
| assert.warning | On | On |
| auto_detect_line_endings | Off | Off |
| default_socket_timeout | 60 | 60 |
| from | no value | no value |
| session.trans_sid_hosts | no value | no value |
| session.trans_sid_tags | a=href,area=href,frame=src,form= | a=href,area=href,frame=src,form= |
| unserialize_max_depth | 4096 | 4096 |
| url_rewriter.hosts | no value | no value |
| url_rewriter.tags | form= | form= |
| user_agent | no value | no value |
| sysvmsg support | enabled |
| sysvsem support | enabled |
| sysvshm support | enabled |
| Tidy support | enabled |
| libTidy Version | 5.6.0 |
| libTidy Release | 2017/11/25 |
| Directive | Local Value | Master Value |
|---|---|---|
| tidy.clean_output | no value | no value |
| tidy.default_config | no value | no value |
| Tokenizer Support | enabled |
| Version | 3.2.1 |
| Support Xdebug on Patreon, GitHub, or as a business | |
| Enabled Features (through 'xdebug.mode' setting) | ||
|---|---|---|
| Feature | Enabled/Disabled | Docs |
| Development Helpers | ✘ disabled | ⊕ |
| Coverage | ✘ disabled | ⊕ |
| GC Stats | ✘ disabled | ⊕ |
| Profiler | ✘ disabled | ⊕ |
| Step Debugger | ✔ enabled | ⊕ |
| Tracing | ✘ disabled | ⊕ |
| Optional Features | |
|---|---|
| Compressed File Support | no |
| Clock Source | clock_gettime |
| 'xdebug://gateway' pseudo-host support | yes |
| 'xdebug://nameserver' pseudo-host support | yes |
| Systemd Private Temp Directory | /tmp/systemd-private-3221d60dabd645c689c09873db6cf172-apache2.service-95ACom |
| Debugger | enabled |
|---|---|
| IDE Key | no value |
| Directive | Local Value | Master Value |
|---|---|---|
| xdebug.auto_trace | (setting renamed in Xdebug 3) | (setting renamed in Xdebug 3) |
| xdebug.cli_color | 0 | 0 |
| xdebug.client_discovery_header | HTTP_X_FORWARDED_FOR,REMOTE_ADDR | HTTP_X_FORWARDED_FOR,REMOTE_ADDR |
| xdebug.client_host | localhost | localhost |
| xdebug.client_port | 9003 | 9003 |
| xdebug.cloud_id | no value | no value |
| xdebug.collect_assignments | Off | Off |
| xdebug.collect_includes | (setting removed in Xdebug 3) | (setting removed in Xdebug 3) |
| xdebug.collect_params | (setting removed in Xdebug 3) | (setting removed in Xdebug 3) |
| xdebug.collect_return | Off | Off |
| xdebug.collect_vars | (setting removed in Xdebug 3) | (setting removed in Xdebug 3) |
| xdebug.connect_timeout_ms | 200 | 200 |
| xdebug.coverage_enable | (setting renamed in Xdebug 3) | (setting renamed in Xdebug 3) |
| xdebug.default_enable | (setting renamed in Xdebug 3) | (setting renamed in Xdebug 3) |
| xdebug.discover_client_host | On | On |
| xdebug.dump.COOKIE | no value | no value |
| xdebug.dump.ENV | no value | no value |
| xdebug.dump.FILES | no value | no value |
| xdebug.dump.GET | no value | no value |
| xdebug.dump.POST | no value | no value |
| xdebug.dump.REQUEST | no value | no value |
| xdebug.dump.SERVER | no value | no value |
| xdebug.dump.SESSION | no value | no value |
| xdebug.dump_globals | On | On |
| xdebug.dump_once | On | On |
| xdebug.dump_undefined | Off | Off |
| xdebug.file_link_format | no value | no value |
| xdebug.filename_format | no value | no value |
| xdebug.force_display_errors | Off | Off |
| xdebug.force_error_reporting | 0 | 0 |
| xdebug.gc_stats_enable | (setting renamed in Xdebug 3) | (setting renamed in Xdebug 3) |
| xdebug.gc_stats_output_dir | (setting renamed in Xdebug 3) | (setting renamed in Xdebug 3) |
| xdebug.gc_stats_output_name | gcstats.%p | gcstats.%p |
| xdebug.halt_level | 0 | 0 |
| xdebug.idekey | no value | no value |
| xdebug.log | no value | no value |
| xdebug.log_level | 7 | 7 |
| xdebug.max_nesting_level | 256 | 256 |
| xdebug.max_stack_frames | -1 | -1 |
| xdebug.mode | debug | debug |
| xdebug.output_dir | /tmp | /tmp |
| xdebug.overload_var_dump | (setting removed in Xdebug 3) | (setting removed in Xdebug 3) |
| xdebug.profiler_append | Off | Off |
| xdebug.profiler_enable | (setting renamed in Xdebug 3) | (setting renamed in Xdebug 3) |
| xdebug.profiler_enable_trigger | (setting renamed in Xdebug 3) | (setting renamed in Xdebug 3) |
| xdebug.profiler_enable_trigger_value | (setting renamed in Xdebug 3) | (setting renamed in Xdebug 3) |
| xdebug.profiler_output_dir | (setting renamed in Xdebug 3) | (setting renamed in Xdebug 3) |
| xdebug.profiler_output_name | cachegrind.out.%p | cachegrind.out.%p |
| xdebug.remote_autostart | (setting renamed in Xdebug 3) | (setting renamed in Xdebug 3) |
| xdebug.remote_connect_back | (setting renamed in Xdebug 3) | (setting renamed in Xdebug 3) |
| xdebug.remote_enable | (setting renamed in Xdebug 3) | (setting renamed in Xdebug 3) |
| xdebug.remote_host | (setting renamed in Xdebug 3) | (setting renamed in Xdebug 3) |
| xdebug.remote_log | (setting renamed in Xdebug 3) | (setting renamed in Xdebug 3) |
| xdebug.remote_log_level | (setting renamed in Xdebug 3) | (setting renamed in Xdebug 3) |
| xdebug.remote_mode | (setting renamed in Xdebug 3) | (setting renamed in Xdebug 3) |
| xdebug.remote_port | (setting renamed in Xdebug 3) | (setting renamed in Xdebug 3) |
| xdebug.remote_timeout | (setting renamed in Xdebug 3) | (setting renamed in Xdebug 3) |
| xdebug.scream | Off | Off |
| xdebug.show_error_trace | Off | Off |
| xdebug.show_exception_trace | Off | Off |
| xdebug.show_local_vars | Off | Off |
| xdebug.show_mem_delta | (setting removed in Xdebug 3) | (setting removed in Xdebug 3) |
| xdebug.start_upon_error | default | default |
| xdebug.start_with_request | default | default |
| xdebug.trace_enable_trigger | (setting renamed in Xdebug 3) | (setting renamed in Xdebug 3) |
| xdebug.trace_enable_trigger_value | (setting renamed in Xdebug 3) | (setting renamed in Xdebug 3) |
| xdebug.trace_format | 0 | 0 |
| xdebug.trace_options | 0 | 0 |
| xdebug.trace_output_dir | (setting renamed in Xdebug 3) | (setting renamed in Xdebug 3) |
| xdebug.trace_output_name | trace.%c | trace.%c |
| xdebug.trigger_value | no value | no value |
| xdebug.use_compression | 0 | 0 |
| xdebug.var_display_max_children | 128 | 128 |
| xdebug.var_display_max_data | 512 | 512 |
| xdebug.var_display_max_depth | 3 | 3 |
| XML Support | active |
| XML Namespace Support | active |
| libxml2 Version | 2.9.14 |
| XMLReader | enabled |
| XMLRPC extension version | 1.0.0RC3 |
| core library version | xmlrpc-epi v. 0.54 |
| author | Dan Libby |
| homepage | http://xmlrpc-epi.sourceforge.net |
| open sourced by | Epinions.com |
| XMLWriter | enabled |
| XSL | enabled |
| libxslt Version | 1.1.32 |
| libxslt compiled against libxml Version | 2.9.4 |
| EXSLT | enabled |
| libexslt Version | 1.1.32 |
| Opcode Caching | Up and Running |
| Optimization | Disabled |
| SHM Cache | Enabled |
| File Cache | Disabled |
| JIT | Disabled |
| Startup | OK |
| Shared memory model | mmap |
| Cache hits | 1571030 |
| Cache misses | 5103 |
| Used memory | 111601648 |
| Free memory | 14049296 |
| Wasted memory | 8566784 |
| Interned Strings Used memory | 6290992 |
| Interned Strings Free memory | 0 |
| Cached scripts | 4930 |
| Cached keys | 7396 |
| Max keys | 16229 |
| OOM restarts | 4 |
| Hash keys restarts | 0 |
| Manual restarts | 0 |
| Directive | Local Value | Master Value |
|---|---|---|
| opcache.blacklist_filename | no value | no value |
| opcache.consistency_checks | 0 | 0 |
| opcache.dups_fix | Off | Off |
| opcache.enable | On | On |
| opcache.enable_cli | Off | Off |
| opcache.enable_file_override | Off | Off |
| opcache.error_log | no value | no value |
| opcache.file_cache | no value | no value |
| opcache.file_cache_consistency_checks | On | On |
| opcache.file_cache_only | Off | Off |
| opcache.file_update_protection | 2 | 2 |
| opcache.force_restart_timeout | 180 | 180 |
| opcache.huge_code_pages | Off | Off |
| opcache.interned_strings_buffer | 8 | 8 |
| opcache.jit | no value | no value |
| opcache.jit_bisect_limit | 0 | 0 |
| opcache.jit_blacklist_root_trace | 16 | 16 |
| opcache.jit_blacklist_side_trace | 8 | 8 |
| opcache.jit_buffer_size | 0 | 0 |
| opcache.jit_debug | 0 | 0 |
| opcache.jit_hot_func | 127 | 127 |
| opcache.jit_hot_loop | 64 | 64 |
| opcache.jit_hot_return | 8 | 8 |
| opcache.jit_hot_side_exit | 8 | 8 |
| opcache.jit_max_exit_counters | 8192 | 8192 |
| opcache.jit_max_loop_unrolls | 8 | 8 |
| opcache.jit_max_polymorphic_calls | 2 | 2 |
| opcache.jit_max_recursive_calls | 2 | 2 |
| opcache.jit_max_recursive_returns | 2 | 2 |
| opcache.jit_max_root_traces | 1024 | 1024 |
| opcache.jit_max_side_traces | 128 | 128 |
| opcache.jit_prof_threshold | 0.005 | 0.005 |
| opcache.lockfile_path | /tmp | /tmp |
| opcache.log_verbosity_level | 1 | 1 |
| opcache.max_accelerated_files | 10000 | 10000 |
| opcache.max_file_size | 0 | 0 |
| opcache.max_wasted_percentage | 5 | 5 |
| opcache.memory_consumption | 128 | 128 |
| opcache.opt_debug_level | 0 | 0 |
| opcache.optimization_level | 0 | 0x7FFEBFFF |
| opcache.preferred_memory_model | no value | no value |
| opcache.preload | no value | no value |
| opcache.preload_user | no value | no value |
| opcache.protect_memory | Off | Off |
| opcache.record_warnings | Off | Off |
| opcache.restrict_api | no value | no value |
| opcache.revalidate_freq | 2 | 2 |
| opcache.revalidate_path | Off | Off |
| opcache.save_comments | On | On |
| opcache.use_cwd | On | On |
| opcache.validate_permission | Off | Off |
| opcache.validate_root | Off | Off |
| opcache.validate_timestamps | On | On |
| Zip | enabled |
| Zip version | 1.19.5 |
| Libzip version | 1.7.3 |
| BZIP2 compression | Yes |
| XZ compression | No |
| ZSTD compression | No |
| AES-128 encryption | Yes |
| AES-192 encryption | Yes |
| AES-256 encryption | Yes |
| ZLib Support | enabled |
|---|---|
| Stream Wrapper | compress.zlib:// |
| Stream Filter | zlib.inflate, zlib.deflate |
| Compiled Version | 1.2.11 |
| Linked Version | 1.2.11 |
| Directive | Local Value | Master Value |
|---|---|---|
| zlib.output_compression | Off | Off |
| zlib.output_compression_level | -1 | -1 |
| zlib.output_handler | no value | no value |
| Module Name |
|---|
array (1)0 => array (7)| 'name' => 'default output handler' | 'type' => 0 | 'flags' => 20592 | 'level' => 0 | 'chunk_size' => 4096 | 'buffer_size' => 159744 | 'buffer_used' => 1936
| Host | 'blog-lupa-martin.imho.cz'
|
|---|---|
| HTTP_X_FORWARDED_PROTO | 'https'
|
| Access-Control-Allow-Origin | '*'
|
| Referrer-Policy | 'no-referrer-when-downgrade'
|
| X-Real-IP | '216.73.216.174'
|
| Connection | 'close'
|
| accept | '*/*'
|
| user-agent | 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)'
|
| accept-encoding | 'gzip, br, zstd, deflate'
|
| cookie | 'tracy-session=86b76d2d69; _nss=1; opinionsOrdering=insert_flat'
|
| X-HTTPS | '1'
|
| XDEBUG_SESSION_STOP | '1'
|
|---|---|
| do | 'opinionsListing-reorder'
|
| opinionsListing-order | 'thumbs'
|
empty
| tracy-session | '86b76d2d69'
|
|---|---|
| _nss | '1'
|
| opinionsOrdering | 'insert_flat'
|
| Set-Cookie | 'XDEBUG_SESSION=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/; SameSite=Lax'
|
|---|---|
| X-Powered-By | 'Nette Framework 3'
|
| Content-Type | 'text/html; charset=utf-8'
|
| X-Frame-Options | 'SAMEORIGIN'
|
| Set-Cookie | '_nss=1; path=/; secure; HttpOnly; SameSite=Strict'
|
| Vary | 'X-Requested-With'
|
| Set-Cookie | 'opinionsOrdering=thumbs; expires=Sat, 20-Dec-2025 11:37:07 GMT; Max-Age=2592000; path=/; secure; HttpOnly; SameSite=Lax'
|
| Content-Security-Policy | 'upgrade-insecure-requests'
|
Headers have been sent, output started at .../templates-common-@HtmlDocument--RootLike.inc.latte--3f2affa234.php:98 source
88: IInfo\LatteMacros::renderControlX($this->global->uiControl, "Shared_Favicons", "render", []); 89: $this->renderBlock('common__HtmlDocument--rss', get_defined_vars()) /* line 53 */; 90: echo "\n"; 91: if ($rssFeeds) /* line 54 */ { 92: $iterations = 0; 93: foreach ($rssFeeds as $rssFeed) /* line 55 */ { 94: echo '<link rel="alternate" title="'; 95: echo LR\Filters::escapeHtmlAttr($rssFeed['title']) /* line 56 */; 96: echo '" href="'; 97: echo LR\Filters::escapeHtmlAttr(LR\Filters::safeUrl($rssFeed['url'])) /* line 56 */; 98: echo '" type="application/rss+xml"> 99: '; 100: $iterations++; 101: } 102: }