Empfehlungen: Erweiterte Suche

Probleme mit Cake Console

Fragen und Diskussionen zur Installation und Konfiguration von Cake.

Probleme mit Cake Console

Beitragvon muckelpih » Do 26. Jan 2012, 17:54

Hallo zusammen,

ich bin noch ein ziemlicher CakePHP Anfänger, wollte mich aber jetzt mal mit der Cake Konsole beschäftigen. Meine Anwendung läuft im Browser zurzeit wunderbar. Ich erhalte jedoch beim Ausführen der Cake Konsole folgende Fehlermeldung:


PHP Deprecated: Comments starting with '#' are deprecated in /etc/php5/cli/conf.d/mcrypt.ini on line 1 in Unknown on line 0
PHP Fatal error: Class 'AppModel' not found in /var/www/support/app/Model/institutes.php on line 3
PHP Stack trace:
PHP 1. {main}() /var/www/support/app/Console/cake.php:0
PHP 2. ShellDispatcher::run() /var/www/support/app/Console/cake.php:41
PHP 3. ShellDispatcher->dispatch() /var/www/support/lib/Cake/Console/ShellDispatcher.php:69
PHP 4. ConsoleShell->initialize() /var/www/support/lib/Cake/Console/ShellDispatcher.php:175
PHP 5. App::load() /var/www/support/lib/Cake/Core/App.php:0
PHP 6. include() /var/www/support/lib/Cake/Core/App.php:505

Fatal error: Class 'AppModel' not found in /var/www/support/app/Model/institutes.php on line 3

Call Stack:
0.0004 638520 1. {main}() /var/www/support/app/Console/cake.php:0
0.0017 796000 2. ShellDispatcher::run() /var/www/support/app/Console/cake.php:41
0.0187 2630064 3. ShellDispatcher->dispatch() /var/www/support/lib/Cake/Console/ShellDispatcher.php:69
0.0247 3420624 4. ConsoleShell->initialize() /var/www/support/lib/Cake/Console/ShellDispatcher.php:175
0.0257 3561256 5. App::load() /var/www/support/lib/Cake/Core/App.php:0
0.0258 3565544 6. include('/var/www/support/app/Model/company.php') /var/www/support/lib/Cake/Core/App.php:505

Ich rufe die Konsole auf, in dem ich innerhalb von "support/app/" den Befehl "Console/cake console" aufrufe. Diesen Fehler erhalte ich sowohl unter Windows 7 mit xampp als auch unter Ubuntu 10.04 LTE. Ich setze CakePHP in der Version 2.0.5 stable ein.

Könnt ihr mir sagen was ich falsch mache?

Besten Dank im Voraus
muckelpih
 
Beiträge: 11
Registriert: Do 26. Jan 2012, 17:38

Re: Probleme mit Cake Console

Beitragvon Jörg » Do 26. Jan 2012, 22:05

Hey,

du solltest dir in der neuen PHP-Version (>5.3.0) angewöhnen die Zeilen die du einkommentierst nicht mit einer Raute, sondern mit Slashes zu versehen.

Dies besagt die Meldung:
Code: Alles auswählen
PHP Deprecated: Comments starting with '#' are deprecated in /etc/php5/cli/conf.d/mcrypt.ini on line 1 in Unknown on line 0


Wenn du Glück hast, war es das auch schon. :)
Jörg
 
Beiträge: 130
Registriert: Di 13. Mai 2008, 13:45
Wohnort: Bremen
CakePHP-Version: 2.0.3, 1.3.x
OS: Win7/Ubuntu

Re: Probleme mit Cake Console

Beitragvon muckelpih » Do 26. Jan 2012, 22:37

Hey,

danke für Deine Antwort.

Habe den Kommentar angepasst und jetzt mit zwei Slashes versehen. Dieser eine Fehler taucht nun auch nicht mehr auf. Die anderen bestehen leider weiterhin :o :shock: :?

LG
muckelpih
 
Beiträge: 11
Registriert: Do 26. Jan 2012, 17:38

Re: Probleme mit Cake Console

Beitragvon euromark » Fr 27. Jan 2012, 00:16

für mich schaut das auch alles nach ziemlich käse aus :)
model files sind großgeschrieben, die models sollten oben immer App::uses() haben von den klassen die sie erben, also in dem fall
Code: Alles auswählen
App::uses('AppModel', 'Model')


bei mir ists übrigens
"..\lib\Cake\Console\cake "
da Cake (lib\Cake) bei mir in
\trunk\ liegt (neben \trunk\app)

aber ich weiß ja nicht wie die ordner struktur bei dir ist
euromark
 
Beiträge: 642
Registriert: Fr 27. Jun 2008, 22:17
Wohnort: München
CakePHP-Version: 2.x
OS: Windows

Re: Probleme mit Cake Console

Beitragvon muckelpih » Fr 27. Jan 2012, 01:59

Hey,

vielen Dank. Jetzt hat's geklappt. Aber ich verstehe nicht so ganz warum. Wenn ich die API richtig verstehe, dann wird mit App::uses mitgeteilt, wo die Klassendateien liegen. Also z. B. in Fall App::uses('MyModel', 'Model'); wird dem Model mitgeteilt, dass er die Klasse MyModel im Ordner Model findet. Dabei wird im Ordner Lib/Cake/Model und im Ordner App/Model gesucht. Ist im Ordner App/Model die Klasse hinterlegt, wird diese eingebunden. Anderenfalls halt die im Ordner Lib/Cake/Model.

Was ich nicht verstehe - Warum tritt der Fehler nur beim Starten der Cake Konsole auf? Meine Webanwendung läuft ja einwandfrei (zumindest konnte ich dort keine Probleme feststellen). Auch in den Tutorials die ich gelesen habe (z. B. das Cake-Blog-Tutorial), werden keine Klassen manuell mit App::Uses eingebunden. :?: :?: :?:

Über eine Antwort würde ich mich freuen.

Liebe Grüße
muckelpih
 
Beiträge: 11
Registriert: Do 26. Jan 2012, 17:38

Re: Probleme mit Cake Console

Beitragvon euromark » Fr 27. Jan 2012, 12:45

naja, wenn man die seite über den browser aufruft, mag cakephp bereits einige files automatisch inludieren.
das fällt ggf per console weg.
deswegen sag ich ja: IMMER oben angeben - damit solche fatal errors vermieden werden können.
euromark
 
Beiträge: 642
Registriert: Fr 27. Jun 2008, 22:17
Wohnort: München
CakePHP-Version: 2.x
OS: Windows

Re: Probleme mit Cake Console

Beitragvon muckelpih » Fr 27. Jan 2012, 15:27

Alles klar. Danke für die Info :D
muckelpih
 
Beiträge: 11
Registriert: Do 26. Jan 2012, 17:38

Re: Probleme mit Cake Console

Beitragvon Jörg » Fr 27. Jan 2012, 23:41

Hi zusammen,

noch ein kleiner Hinweis.
PHP über einen Apache auszuführen ist etwas anderes, als wenn du über die Shell (Console per CLI-Aufruf) dein PHP-Skript startest. Gerade per CLI (Command-Line-Interface) treten die häufigsten Probleme ein.

Es gibt zum Beispiel eine php.ini für PHP-CLI und eine php.ini für PHP in Verbindung mit Apache oder IIS oder nGinx, etc..
Dennoch lernst du gerade aus solchen Fehlern wie oben beschrieben eine Menge. :-)
Jörg
 
Beiträge: 130
Registriert: Di 13. Mai 2008, 13:45
Wohnort: Bremen
CakePHP-Version: 2.0.3, 1.3.x
OS: Win7/Ubuntu


Zurück zu Installation und Konfiguration

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron