Używam CakePHP 2.0 RC-1. Po sprawdzeniu projektu z SVN aplikacja zaczyna narzekać, że nie może zapisywać plików pamięci podręcznej w katalogu tmp/cache. Ponieważ jest to lokalny, wiem, że katalog jest zapisywalny i mogę CLEARLY zobaczyć, że katalogi są nawet wypełnione plikami, więc błąd jest nieco dziwny.CakePHP 2.0 - Cake nie mógł zapisać do pamięci podręcznej plików
Oto niektóre z błędów, jakie napotykają:
_cake_core_ cache was unable to write 'cake_dev_nb' to File cache
fopen(c:\cake\app\tmp\cache\models\cake_model_default_media) [function.fopen]: failed to open stream: No error [CORE\Cake\Cache\Engine\FileEngine.php, line 127]
Brak błędu ?! WTH?
Teraz, gdy patrzę w pliku FileEngine, na linii 127 czytamy:
if (!$handle = fopen($this->_File->getPathName(), 'c')) {
return false;
}
Zastępując „C” z „w”, bez napotkania błędu i wszystko działa tak jak powinno. Ale nie powinno być konieczne modyfikowanie podstawowych bibliotek Cake w celu obejścia tego problemu. Powtórzę, że na moim drugim komputerze działa to zgodnie z przeznaczeniem, bez edytowania głównej biblioteki. Oba używają systemu operacyjnego Windows, a uprawnienia do odczytu/zapisu do folderu tmp/cache-folder są dokładnie takie same.
Edycja: Oto strona, która doświadcza wyjść błędach Mam lokalnie
Przykład witryny znaleziony przez Googling. Nie moja strona: http://www.12h30.net/credit/
Jakieś sugestie?
Aktualizacja: Oto dlaczego: Spowodowane jest to jeśli masz PHP-wersję, która jest zbyt niska, przed 5.2.6, zgodnie z wytycznymi „api55” w komentarzach. Dziękuję za odpowiedź. Mam nadzieję, że to ci pomoże.
jaka wersja php masz? pamiętajcie, że 2.0 nadal znajduje się w fazie RC, więc może mieć tego rodzaju błędy ... dla trybu c lub c + POTRZEBUJESZ mieć php 5.2.6 lub nowszy, jeśli nie, to nie rozpozna tego trybu – api55