Projekt přestal fungovat a skončí v bootstrap.php na require autoload.php. A ztracený composer.json
- Meedoo
- Člen | 11
Ahoj,
dostal jsem opravit jeden web, který jim přestal fungovat. Vrací prázdnou
stránku.
Po studování to skončí v bootstrap.php hned na require __DIR__ .
‚/../vendor/autoload.php‘;
Nevíte, v čem by mohl být problém?
Bohužel nemohu zkusit composer update ani install, protože jsem nedostal composer.json/.lock. A to je druhý dotaz, dá se nějak vygenerovat ze struktury vendor?
Děkuji za reakce
- David Matějka
- Moderator | 6445
Možná budeš mít vypnuté display_errors, zkus si to pro debug zapnout a třeba zjistíš víc.
neznám žádný tool, který by uměl composer json/lock soubory vygenerovat, ale ve vendor/composer/installed.json bys měl vidět něco podobného, co je v composer.lock. Z toho bych zkusil vygenerovat composer.json – bohužel nezjistíš, co bylo skutečně v required, co v required-dev a jaký byla požadovaná verze. ale nic lepšího asi nevymyslíš.
- Marek Bartoš
- Nette Blogger | 1274
Na problém chybějícího composer.json a composer.lock jsem nedávno
narazil též. Vytvořil jsem jednoduchý command, který ti
z vendor/composer/installed.json pomůže sestavit composer.json s aktuálně
nainstalovanými verzemi všech balíků, snad pomůže
https://github.com/…cs/README.md#…
Editoval Mabar (3. 2. 2021 15:27)
- dakur
- Člen | 493
@Meedoo A ten vendor/autoload.php
, jak vypadá? Je to
vůbec autoload composeru? Nenapsal si ho někdo ručně ještě
v předcomposerové době? Vznik Composeru je právě reakcí na problémy
ručního loadingu, takže je klidně možné, že je to psané ručně a
žádný composer.json
z toho nevytřískáš. 🙂
Editoval dakur (4. 2. 2021 15:24)
- Meedoo
- Člen | 11
dakur napsal(a):
@Meedoo A ten
vendor/autoload.php
, jak vypadá? Je to vůbec autoload composeru? Nenapsal si ho někdo ručně ještě v předcomposerové době? Vznik Composeru je právě reakcí na problémy ručního loadingu, takže je klidně možné, že je to psané ručně a žádnýcomposer.json
z toho nevytřískáš. 🙂
autoload je vytvořen pomocí composeru viz kod:
<?php
// autoload.php @generated by Composer
require_once __DIR__ . '/composer/autoload_real.php';
return ComposerAutoloaderInit01ac15b28e707035aa41ec268::getLoader();
- Kamil Valenta
- Člen | 820
Nemusí být, composerem se mohly stáhnout jen počáteční balíčky a dál se to mohlo udržovat ručně. I s takovou variantou jsem se setkal… Porovnej si lastmod adresářů ve vendor a lastmod třeba toho autoloadu.