2012-02-18 48 views
1

我決定不使用遷移指南/ shell將CakePHP從1.3升級到2.0,只需使用它的vanilla安裝即可。出於某種原因,我得到這個錯誤:安裝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? – 2012-02-18 22:46:43

+0

@ChuckBurgess它是5.3。不得不刪除我的永久緩存,它結束了工作。 – 2012-02-19 03:15:45

+0

@bob_cobb我遇到了類似的錯誤,但我無法清除緩存。你只是刪除/ app/tmp/cache/persistent文件夾中的文件,還是需要保留這些文件並清空它們?是否有另一個緩存位置?我在bootstrap.php中出現錯誤,所以我無法使用Cake來清除緩存。 – AdrianB 2012-04-04 17:06:14

回答

2

它不是關於sessioncomponent但是組件類本身:

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

這個聲明說,在哪裏可以找到它。但蛋糕似乎沒有找到它。所以它可能會丟失。 它應該在/Cake/Controller/

+0

是的,'Component.php'存在以及'App :: uses('Component','Controller');'在SessionComponent.php的第20行中。仍然收到此錯誤。在這裏瘋狂。 – 2012-02-18 22:06:49

+0

緩存清除?蛋糕可能已過時信息/ cache/persistent/ – mark 2012-02-18 22:13:08

+0

沒有看到此響應,只是做到了這一點。完全修復它。奇怪的。萬分感謝。 – 2012-02-18 23:58:16

1

實際上,SessionComponent.php確實存在,至少在官方的2.0.6存儲庫。您的下載/升級可能已損壞。嘗試將文件添加到您的服務器。如果你很幸運,那是唯一的問題;但更有可能的是,你需要重新升級。

+0

嗯。奇。我沒有看到它@ https://github.com/cakephp/cakephp/tree/master/lib/Cake/Controller – 2012-02-18 21:43:34

+0

德哦!你玩得更快。 :( – Farray 2012-02-18 21:43:53

+0

@bob_cobb它在... /控制器/組件目錄中,不是... /控制器 – Farray 2012-02-18 21:44:37

0

我不知道你在哪裏看,但SessionComponent.php實際上確實在2.0.x的回購存在:

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

您可能需要重新下載整個/ lib目錄節如果你缺少文件。

+0

啊,好吧,我的錯誤,我正在尋找錯誤的目錄,當我打開SessionComponent.php,並去到第32行,我得到:'類SessionComponent擴展組件',看起來對我來說很好,任何理由爲什麼這是搞砸了? – 2012-02-18 21:50:20

+0

@bob_cobb您是否遵守了[移植指南](http://book.cakephp.org/2.0/en/appendices/2-0-migration-guide.html)中的所有建議? – Farray 2012-02-18 21:52:47

+0

我已閱讀過遷移指導,但我只是從頭開始從頭開始刪除以前的所有東西(顯然是先備份了我的東西) – 2012-02-18 21:56:08