Closed tsusanka closed 3 years ago
korektni je tam asi pridat lokalni ip adresu vagrantu.
$configurator->setDebugMode(['192.168.33.1']);
Řešil jsem to přetížením setDebugMode a detekcí hostname, protože se tim pak dá odchytit travis atp. Pro tohle .dev
nejsem úplně nadchnutý, ale jestli ti to šetří práci/čas, tak to klidně pushni :)
toto ted pouzivam na signalech:
if (is_file(__DIR__ . '/config/config.debug.neon') && PHP_SAPI !== 'cli') {
$secret = isset($_COOKIE['nette-debug']) ? $_COOKIE['nette-debug'] : NULL;
$config = Nette\Neon\Neon::decode(file_get_contents(__DIR__ . '/config/config.debug.neon'));
$config = $config['parameters']['debug'];
$configurator->setDebugMode($secret === ($config['prefix'] . date('d')) ? $config['developerIps'] : FALSE);
} else {
$configurator->setDebugMode(['192.168.33.1']); // default ip interface for vagrant host
}
je to inspirovany tou novou moznosti v bootstrap: https://github.com/nette/bootstrap/commit/2aecd66522b5d89e1dc1c7becac05db2fbff5640
Já fanda toho .dev
taky moc nejsem, protože to pak omylem překopírujeme na produkci a je to trochu díra. Takže preferuju taky jiný řešení.
Hm, hm. Možná udělat do lokálního configu možnost zadat IP pro který se aktivuje development? A když bude prázdné, tak to nechat na Nette. Vlastně to co píše teď @hrach akorát dát tu IP do configu.
Hostname je podle me víc univerzální™ než ip a funguje na vagrantu i CI. :)
Pravda, pravda. Můžeš hodit ukázku? Nebo to tam případně rovnou navrtat? Přeci se v tom skeletonu vyznáš lépe a moc to nespěchá, protože odpo odjíždim.
Zatim to mam nahackovaný takhle https://github.com/KhanovaSkola/khanovaskola-v3/blob/master/app/config/Configurator.php#L103-L112 ale dám to jako seznam povolených debug hostname do configu.
To by bylo úplně mega super trooper !
Cim vic nad tim premyslim tim vic si rikam z eje to uplne zbytecny. Nestacil by proste debug on/off v configu?
@Mikulas ne ze bych te chtel otravovat i tady, ale je te treba na smrti :)
@Mikulas taky mě nenapadá proč vlastně ne. Asi bych udělal do lokálního configu něco alá forceDebug
defaultně nastaven na off
. Klidně udělám PR, akorát nevim jak v rámci konstruktoru Configuratoru se dostat ke configu.
:+1: :+1: Stačí když si to do webexpa cherrypicknu nebo to mam nějak rebasovat atd?
přesně jsem nad tim přemýšlel. Cp je asi nejlepší varianta. Rebase je zase cool že je nejsnadnějc poznat na který verzi skeletonu to je.
Hele nějak se to chová jak nemá, ale úplně nevím kde je problem. V současnym stavu s forceDebug: on
laděnku nedostanu. Dostanu ji pouze pokud dám $this->setDebugMode(TRUE);
na řádek 64 v Configurátoru.
divny, mrknu na to
Takhle problém je, že když je to cokoliv dál než bootstrap, tak to pak nefunguje pořádně když je chyba třeba v Configurator
, neonu a prostě cokoliv před tím, než se to konečně dostane k tomu zapnutí tracy. Měl jsem teď týden na to nad tím přemýšlet a dospěl jsem k tomu, že je fakt asi nejlepší mít prostě zakomentovaný debug mode v boostrapu.
Jestli tomu dobře rozumím tak to současný řešení funguje pokud error nastane po načtení configu. Je to tak? Což znamená v presenteru, modelu atd laděnku dostanu. Jen pokud je chyba někde v configu/bootstrapu tak laděnka nebude. (a teď jsem to zkoušel a myslím, že mohu potvrdit)
Protože k serveru na Vagrantu přistupuji přes IP a nikoliv přes localhost, autodetekce development modu nefunguje a nemám laděnku. Ve starém Skeletonu se to řešilo přessoubor
.dev
v rootu, který pokud existoval, tak byl vynucený development mód. Vypadalo to takto:Něco podobného by se dalo dodat i do Configuratoru. Je to okej? Anebo se to dá řešit lépe? Ty vyvíjíš taky proti Vagrantu ne?