Я использую CakePHP 2.0 RC-1. После проверки проекта из SVN приложение начинает жаловаться, что не может записать файлы кэша в каталог tmp / cache. Так как это локально, я знаю, что каталог доступен для записи, и я Ясно вижу, что каталоги даже заполнены файлами, поэтому ошибка немного странная.
Вот некоторые ошибки, с которыми я столкнулся:
_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]
Нет ошибок ?! Wth
Теперь, если я загляну в файл FileEngine, в строке 127 будет написано:
if (!$handle = fopen($this->_File->getPathName(), 'c')) {
return false;
}
Заменив "c" на "w", ошибки не возникнут, и все будет работать как надо. Но не нужно изменять базовые библиотеки Cake, чтобы обойти эту проблему. Позвольте мне повторить, что на моем другом компьютере это работает как задумано, без редактирования основной библиотеки. Оба используют ОС Windows, и права на чтение / запись для папки tmp / cache-абсолютно одинаковы.
Редактировать: Вот сайт, который выводит сообщения об ошибках у меня локально
Пример сайта, найденного Googling. Не мой сайт: http://www.12h30.net/credit/
Есть предложения?
Обновление: вот почему: Это вызвано тем, что у вас слишком низкая версия PHP до 5.2.6, как указано в комментариях «api55». Спасибо за ответ. Надеюсь, это вам тоже поможет.