Chyba laděnky – vypršení času a 5 chyb v Debugger baru

před 6 měsíci

Kajda23
Člen | 21
+
0
-

Ahoj,
mám takový problém s laděnkou ve vývojovém režimu. Poměrně často se teď stává, že načítání trvá dlouho a skončí na chybě „Maximum execution time of xx seconds exceeded“. Chybným řádkem laděnka označí buď

<?php
return call_user_func_array($function, $args);
?>

v Utils\Callback.php:104 nebo

<?php
if ($file = $this->findFile($class)) {
?>

v ClassLoader.php:321
Při dalším obnovení naskočí obvykle v laděnce 5 chyb v:

1× PHP Warning: Cannot use a scalar value as an array in …\vendor\tracy\tracy\src\Tracy\Bar\Bar.php:75
3× PHP Warning: Cannot use a scalar value as an array in …\vendor\tracy\tracy\src\Tracy\Bar\Bar.php:78
1× PHP Notice: Undefined variable: queue in …\vendor\tracy\tracy\src\Tracy\Bar\Bar.php:79

které tam zůstanou až do smazání cookies. Také dojde ke ztrátě session (odhlásí se User, apod.). Nenacházím žádný klíč a společný jmenovatel, objevuje se to náhodně. Často po delší nečinnosti, ale nevím, jestli je to pravidlo.

Verze Tracy je 2.6.3.

Nemá někdo podobnou zkušenost, v čem by to mohlo být? Pátrám směrem k práci se session, ale je to spíš jen pocit, nemám žádné vodítko.

před 6 měsíci

David Grudl
Nette Core | 6946
+
0
-

Zdá se, že někde se přepisuje proměnná $_SESSION na něco jiného, než pole. Tracy počítá s tím, že $_SESSION, $_GET a $_SERVER jsou pole. To teda vysvětluje ty warnings, nikoliv Maximum execution time of xx seconds exceeded.

před 6 měsíci

Kajda23
Člen | 21
+
0
-

$_SESSION jako takové je pole i před ukončením programu. Problém je zřejmě v $_SESSION[‚_tracy‘], kde se očekává pole, ale je tam uložená 0. Kde se tam bere zatím nevím, dávám to ale do souvislosti s tím errorem při načítání.