2012-02-18 1 views
1

Я решил вместо использования руководства по миграции/оболочки для обновления от 1.3 до 2.0 CakePHP просто пойти с его установкой ванили. По какой-то причине я получаю эту ошибку:Установка CakePHP 2.0 и получение ошибки «Class» Компонент «не найден»

Fatal error: Class 'Component' not found in /home/bob_cobb/public_html/mydomain.com/lib/Cake/Controller/Component/SessionComponent.php on line 32 

При попытке получить доступ к моему сайту. Я посмотрел, существует ли SessionComponent.php даже на моем сервере или в репозитории 2.0. Мне нужно создать этот файл или что-то еще? (Изменить: Файл существует.)

+0

Какую версию PHP вы используете? –

+0

@ChuckBurgess это 5.3. Пришлось удалить мой постоянный кеш, и он закончил работать. –

+0

@bob_cobb Я столкнулся с подобной ошибкой, но мне трудно устранить кеш. Вы просто удалили файлы в папке/app/tmp/cache/persistent, или вам нужно оставить файлы и их удалить? Есть ли еще место в кеше? Я получаю ошибку в bootstrap.php, поэтому я не могу использовать торт, чтобы очистить кеш. – AdrianB

ответ

2

его не о sessioncomponent но сам компонентов класса:

App::uses('Component', 'Controller'); 

Эта декларация говорит, где найти его. Но торт, похоже, не находит его. поэтому он, вероятно, отсутствует. должно быть в /Cake/Controller/

+0

yes, 'Component.php' существует, а также' App :: uses ('Component', 'Controller'); 'в строке 20 SessionComponent.php. Все еще получаю эту ошибку. Иди сюда. –

+0

очищенный кеш? торт может иметь устаревшую информацию в/cache/persistent/ – mark

+0

Не видел этого ответа и просто сделал это. Полностью зафиксировано. Weird. Благодаря тонну. –

1

Фактически, SessionComponent.php действительно существует, по крайней мере, в официальном репозитории 2.0.6. Возможно, ваша загрузка/обновление повреждена. Попробуйте добавить файл на свой сервер. Если вам повезет, это единственная проблема; скорее всего, вам нужно будет перезагрузить.

+0

Хм. Странный. Я не вижу его @ https://github.com/cakephp/cakephp/tree/master/lib/Cake/Controller –

+0

d'oh! Ты быстрее справляешься. :( – Farray

+0

@bob_cobb Он находится в каталоге .../Controller/Component, а не .../Controller. – Farray

0

Я не уверен, где вы смотрите, но SessionComponent.php действительно существует в 2.0.x репо:

https://github.com/cakephp/cakephp/blob/master/lib/Cake/Controller/Component/SessionComponent.php

Вы можете повторно загрузить весь раздел/Библиотека если вам не хватает файлов.

+0

А, ОК, я ошибался. Я искал неправильный каталог. Когда я открываю SessionComponent.php и перехожу к строке 32, я получаю: 'class SessionComponent extends Component'. Выглядит хорошо для меня. Любая причина, почему это перепутано? –

+0

@bob_cobb Вы следовали всем рекомендациям в [Руководстве по миграции] (http://book.cakephp.org/2.0/en/appendices/2-0-migration-guide.html)? – Farray

+0

Я прочитал о миграции но я просто собираюсь с помощью ванильной установки с нуля удалять все, что было там раньше (очевидно, поддерживал мои вещи в первую очередь). –