Varování „PHP Warning: Missing cache storage.“
- jannemec
- Člen | 78
Jan Tvrdík napsal(a):
Tak se koukni na soubor a řádek, kde k té chybě dochází, ne?
Tak to mě napadlo, jenže je to v nette
Nette/Loaders/RobotLoader.php řádek 355
<?php
if (!$this->cacheStorage) {
trigger_error('Missing cache storage.', E_USER_WARNING);
$this->cacheStorage = new DummyStorage;
}
return new Cache($this->cacheStorage, 'Nette.RobotLoader');
?>
a neuvědomuji si, že bych $cacheStorage někdy nastavoval a nenašel jsem
to ani v changelogu …
JN
- Jan Tvrdík
- Nette guru | 2595
Pravděpodobně za to může tento commit:
https://github.com/…858527105f2e
Řešením je buď konfigurovat RobotLoader
v
config.ini
nebo zavolat ručně metodu setCacheStorage.
- xspider
- Člen | 12
Mám úplně stejný problém, ale nějak jsem nepochopi lajk jste jej vyřešili? Používám php 5.3 a také mám v bootstrap.php
<?php
$loader = new RobotLoader();
$loader->addDirectory(APP_DIR);
$loader->addDirectory(LIBS_DIR);
$loader->register();
?>
a také mi to hazí tu hlášku „PHP Warning: Missing cache storage.“ ale nechapu co je špatně? Z vaší reakce jsem pochopil že tam loader nema být, ale když jsem ho smazal tak to nenačte třídy a když ho tam nechám tak to vyhazuje tu chybu. Tak jak jste to vyřešil? Díky
- HanziQ
- Člen | 16
Buď musíš přidat volání
<?php
$loader->setCacheStorage(Environment::getService('Nette\\Caching\\ICacheStorage'));
//nebo jiné storage samozřejmě
?>
před registraci loaderu, nebo konfigurovat RobotLoader v config.ini, tj.
service.Nette-Loaders-RobotLoader.option.directory[] = %appDir%
service.Nette-Loaders-RobotLoader.option.directory[] = %libsDir%
service.Nette-Loaders-RobotLoader.run = TRUE
Editoval HanziQ (14. 11. 2010 18:34)