2.0 alpha cache – chyba s flock()
- xr
- Člen | 94
PHP 5.3.0 / Nette 2.0alpha
Warning
flock(): 36 is not a valid stream resource
$cache = \Nette\Environment::getCache();
...
$cache->save($ckey, $this->dictionary, array( 'tags' => array( 'dictionary', $ckey ) ));
$ckey
je textova premenna, slovnik je objekt.
hlasi to komponenta, ktoru som mal otestovanu pre verziu 1.0dev – tam vsetko bezi v poriadku. ked som nahral novu verziu frameworku, dostavam toto varovanie. je to bug alebo moja chyba? kazdopadne nikde som sa o tom nic nedocital.
dakujem.
- Filip Procházka
- Moderator | 4668
Protože jsi evidentně jediný kdo s tím má problém. Evidentně se s tím nikdo nesetkal, jinak by ti někdo poradil.
- David Grudl
- Nette Core | 8228
Nediv se, poskytl jsi minimum informací. Zjisti, který flock ve kterém souboru to dělá, jaký máš filesystém atd.
- xr
- Člen | 94
mate pravdu, nejako som vo vytrzeni neuviedol dost informacii…
takze chyba je konkretne
Warning
flock(): 35 is not a valid stream resource
Caching/FileJournal.php (1130)
private function lock()
1128: {
1129: if ($this->handle) {
1130: if (!flock($this->handle, LOCK_EX)) {
1131: throw new \InvalidStateException('Cannot acquire exclusive lock on journal.');
1132: }
...
Caching/FileJournal.php (181)
Caching/FileStorage.php (213)
Caching/Cache.php (176)
SimpleTranslator/SimpleTranslator.php (64)
-- parametre: --
$key "dictionary-sk" (13)
$data xr\SimpleTranslator\Dictionary(4) ▼ {
"lang" protected => "sk" (2)
"data" protected => array(0)
"pick" protected => FALSE
"newPhrases" protected => array(0)
}
$dp array(1) ▼ {
"tags" => array(2) ▼ [
0 => "dictionary" (10)
1 => "dictionary-sk" (13)
]
}
57: $cache = \Nette\Environment::getCache();
58: $ckey = 'dictionary-' . $this->lang;
59: if ( $this->dictionary->updated() ) {
60: $this->dictionary->saveNewPhrases();
61: $cache->clean(array( 'tags' => $ckey ));
62: } else {
63: if ( is_null($cache[$ckey]) ) {
64: $cache->save($ckey, $this->dictionary, array( 'tags' => array( 'dictionary', $ckey ) ));
65: }
66: }
67: } elseif ( $this->dictionary->updated() )
68: $this->dictionary->saveNewPhrases();
69: }
tak, dufam, ze taketo info uz staci.
filesystem je NTFS, OS Win7 x64 bit, procesor intel core duo,
Nette Framework (version 2.0-dev released on 2011-02-06, https://nette.org)
apache 2.2.14 a php 5.3.0 (wamp server 2.0i).
na linuxovej masine som to este neskusal, ale mozem, ak bude treba.
inak toto $cache->save()
sa vola v destruktore
triedy simpleTranslator, ak to zavazi nejakym sposobom.
dik vopred… a sorry za slabe info doteraz.