Thank you to jsundquist , crush, sams and cricket over the last few days
for helping me with my Authentication tutorial problems. I fixed it this
morning.
My take-away from this is a very *general* 'lesson learned' and I thought
I would share the knowledge for any other beginner who comes through here.
The error message I started with was:
PHP Fatal error: *Class 'AppController' not found* in
/var/www/lib/Cake/Controller/CakeErrorController.php on line 31
PHP Stack trace:
PHP 1. {main}() /var/www/app/webroot/index.php:0
PHP 2. Dispatcher->dispatch() /var/www/app/webroot/index.php:97
This sent me on a 2-day joy-ride looking for, moving and changing access
permissions to the 'AppController' class definition file. In the process of
course I screwed up my configuration and got in a hopeless mess.
So this morning I re-built everything very carefully, followed the
instructions to the letter....and got exactly the same error!
I was about to say "Enough cake for me"...but then remembered that "too
much cake" is one of the shortest self-contradictory statements in the
English Language.
I decided to copy back the original, distribution AppController.php file -
and the error message went away.
My conclusion was...this is not the fact that the file is missing, but
class is not compiling successfully. WIth this in mind I took a look at the
Apache Error log.....and this is what I found...
PHP Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING,
expecting ')' in /var/www/app/Controller/AppController.php on line 41
PHP Stack trace:
PHP 1. {main}() /var/www/app/webroot/index.php:0
PHP 2. Dispatcher->dispatch() /var/www/app/webroot/index.php:97
PHP 3. Dispatcher->_getController()
/var/www/lib/Cake/Routing/Dispatcher.php:152
PHP 4. Dispatcher->_loadController()
/var/www/lib/Cake/Routing/Dispatcher.php:228
PHP 5. class_exists() /var/www/lib/Cake/Routing/Dispatcher.php:259
PHP 6. App::load() /var/www/lib/Cake/Core/App.php:0
PHP 7. include() /var/www/lib/Cake/Core/App.php:560
PHP 8. App::load() /var/www/lib/Cake/Core/App.php:0
PHP Fatal error: Class 'AppController' not found in
/var/www/lib/Cake/Controller/CakeErrorController.php on line 31
PHP Stack trace:
PHP 1. {main}() /var/www/app/webroot/index.php:0
PHP 2. Dispatcher->dispatch() /var/www/app/webroot/index.php:97
(This is where I should "Arghhhhh!")
*The error message shown on the screen is not the complete error string!*
I guess that Cake / PHP is only displaying the Fatal Error, and casually
loosing the *real* error here. I.e. it was not that the file was missing or
in the wrong place - but that the class definition had a simple syntax
error in it (too trivial and embarrassing to mention here)
So here is my beginners lesson learned: Keep an eye on the Apache error log
(obvious really). The message on the screen is not only formatted in a way
that makes it hard to read - it my not be displaying all of the useful
information you need to sort out the problem.
Rob
--
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP
---
You received this message because you are subscribed to the Google Groups
"CakePHP" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
Visit this group at http://groups.google.com/group/cake-php?hl=en.