Chyba při zakládání directory /temp po upgrade na tracy/tracy 2.9.0
- m.brecher
- Generous Backer | 873
Ahoj,
narazil jsem po upgrade tracy/tracy na verzi 2.9.0 na tuto chybu:
na lokálním serveru na windows OK, po uploadu na webhosting (Blueboard) řádek v Bootstrapu, který zodpovídá za vytvoření složky /temp selhal:
class Bootstrap
{
public static function boot(): Configurator
{
$appDir = dirname(__DIR__);
$configurator = new Configurator;
$configurator->setDebugMode('secret@111.222.333');
$configurator->enableTracy($appDir . '/log');
}
}
Konfigurátor se pokusil vytvořit složku /temp mimo root projektu a porušil open_basedir serveru, následné chybové hlášení PHP odeslalo http hlavičky a Tracy vyhodilo výjimku.
Po vypnutí Tracy jsem získal tato chybová hlášení PHP vypsaná do stránky:
Warning: is_dir(): open_basedir restriction in effect.
File(/data/www/20862/tmp) is not within the allowed path(s): (/data/www/20862/btd_cz)
in /data/www/20862/btd_cz/karban/vendor/tracy/tracy/src/Tracy/Debugger/Debugger.php on line 489
Notice: Possible problem: you are sending a HTTP header while already having some data in output buffer. Try Tracy\OutputDebugger or send cookies/start session earlier. in /data/www/20862/btd_cz/karban/vendor/nette/http/src/Http/Response.php on line 314
Downgradoval jsem tedy zpět na tracy/tracy 2.8.9 a nahrál na server. Chyba zmizel.
Otázkou je, jestli byla chyba v tracy/tracy 2.9.0, jestli nedošlo při ftp přenosu k nějaké chybě a nechyběl tam nějaký soubor. Zkoušel jsem ale celé tracy v chybové verzi nahrát úplně znovu – smazal celý adresář /tracy a nahrál tracy znova, takže spíš ne.
Editoval m.brecher (14. 2. 2022 17:05)
- m.brecher
- Generous Backer | 873
@MarekBartoš Ahoj, díky za radu, stáhnul jsem si tracy/tracy v2.9.x-dev #ceaf a zkusil to na jednom projektu na webhostingu Blueboard – tam už popsaná chyba s cestou k/temp není a aplikace funguje bez chyby. Zkusil jsem to pro jistotu ještě na jiném hostingu TELE3 a tam to kompletně vytuhne a nedostanu ani žádnou PHP chybovou hlášku. Tak to zatím nechám být a kdyžtak downgraduji na starší tracy/tracy.
Editoval m.brecher (15. 2. 2022 14:40)
- David Grudl
- Nette Core | 8228
Pokud to vytuhne, tak zkusím prosím zjistit proč. Ať to můžu opravit a vydat novou verzi.
- m.brecher
- Generous Backer | 873
@DavidGrudl
Ahoj,
provedu pečlivé testování, abych zjistil, co tam je za chybu.
Objevilo jsem další nesrovnalost – verze „Composer Packages“ v panelu Tracy nesouhlasí:
Když upgraduji balíčky nette/tracy, … tak v Tracy panelu SystemInfo je správná verze Tracy např. 2.9.0, ale v rozklikávací části níže „Composer Packages“ jsou staré údaje, které nesouhlasí s tím, co jsem na server nahrál (doma na localhostu to souhlasí, na webhostingu to nesouhlasí). I když na webhosting nahraju celý obsah /vendor/composer/ včetně souborů installed.json, installed.php a InstalledVersions.php, tak hodnoty, které na webhostingu ukazuje seznam „Composer Packages“ se nemění – jako kdyby tam zamrzly ty první nahrané verze.
Více info k chybě s vytuhnutím kvůli Tracy pošlu za chvíli.
- m.brecher
- Generous Backer | 873
@DavidGrudl
Ahoj, tak jsem na webhosting TELE3 nahrál poslední balíček Nette a dvě dev verze:
nette/application v3.1.x-dev #a844
tracy/tracy v2.9.x-dev #ceaf
a chyba – vytuhnutí serveru už je pryč. Funkce OK. To vytuhnutí bylo asi způsobeno tím, že jsem asi měl poslední verzi tracy/tracy a neměl upgradovaný ten zbytek nette. Když jsem to celé pořádně upgradoval, tak už to funguje.
Jednom malá drobnost – na tomto webhostingu nezobrazuje panel Tracy subpanel „Composer Packages“, ten tam vůbec není, ani ten subpanel „Dev packages“.