не удалось создать контроллер из консоли: cakephp: показывая фатальную ошибку - PullRequest
2 голосов
/ 02 октября 2010

Я пытаюсь создать контроллер в cakephp (1.3) с помощью консоли. Я использую Windows XP и XAMPP.

Мои текущие настройки консоли тортов ниже

C: \ XAMPP \ HTDOCS \ торт \ apressblog \ пирог \ консоли> торт

♀ Добро пожаловать в CakePHP v1.3.4 Console -------------------------------------------------- ------------- Текущие пути: -app: console -работает: C: \ xampp \ htdocs \ cake \ apressblog \ cake \ console -root: C: \ xampp \ htdocs \ cake \ apressblog \ cake -core: C: \ xampp \ htdocs \ cake \ apressblog

Изменение пути: ваш рабочий путь должно быть таким же, как ваше приложение путь, чтобы изменить свой путь, используйте '-app' param. Пример: -app родственник / путь / к / myapp или -app / Абсолютный / путь / к / MyApp

Доступные оболочки: acl [CORE]
i18n [CORE]

api [CORE]
схема [CORE]

испечь [CORE]
тестовый набор [CORE]

консоль [CORE]

Чтобы запустить команду, наберите 'cake shell_name [args] 'Чтобы получить помощь по конкретная команда, типа «торт» shell_name help '

C: \ XAMPP \ HTDOCS \ торт \ apressblog \ пирог \ консоли> -app c: \ xampp '-app' не распознается как внутренняя или внешняя команда, работающая программа или командный файл.

C: \ XAMPP \ HTDOCS \ торт \ apressblog \ пирог \ консоли>

Какие настройки пути мне нужно установить для создания контроллера из консоли? Я пытался изменить путь к приложению, но, когда я набираю команду cake Она отправляет каталог приложения в консоль,

Не могли бы вы помочь мне решить эту проблему

при попытке создать контроллер я получаю следующую ошибку:

C:\xampp\htdocs\cake\apressblog\cake\console>cake bake controller news

♀
Welcome to CakePHP v1.3.4 Console
---------------------------------------------------------------
App : console
Path: C:\xampp\htdocs\cake\apressblog\cake\console
---------------------------------------------------------------

Creating file C:\xampp\htdocs\cake\apressblog\cake\console\controllers\news_cont
roller.php
Wrote `C:\xampp\htdocs\cake\apressblog\cake\console\controllers\news_controller.
php`

You can download SimpleTest from http://simpletest.org
Bake is detecting possible fixtures..

Warning: include_once(C:\xampp\htdocs\cake\apressblog\cake\console\config\databa
se.php): failed to open stream: No such file or directory in C:\xampp\htdocs\cak
e\apressblog\cake\libs\model\connection_manager.php on line 23

Warning: include_once(): Failed opening 'C:\xampp\htdocs\cake\apressblog\cake\co
nsole\config\database.php' for inclusion (include_path='.;\xampp\php\PEAR') in C
:\xampp\htdocs\cake\apressblog\cake\libs\model\connection_manager.php on line 23


Fatal error: ConnectionManager::getDataSource - Non-existent data source default
 in C:\xampp\htdocs\cake\apressblog\cake\libs\model\connection_manager.php on li
ne 102


C:\xampp\htdocs\cake\apressblog\cake\console>

Ответы [ 2 ]

1 голос
/ 03 марта 2011

У меня была такая же проблема, и я гуглил, когда наткнулся на это. Я получил ту же ошибку «Предупреждение: include_once ...», как и вы.

Я понял, что это происходит только тогда, когда я запустил команду 'cake bake' из папки .. \ cake \ console \, как вы сделали.

Так вот что исправило эту проблему для меня. Я добавил путь к папке консоли к переменным среды. Теперь я могу вызывать команду для выпечки торта из любой точки.

Затем я сменил каталог на папку вашего приложения, например ... \ HTDOCS \ myCakeWebsite \ приложение

Затем запустите команду "испечь торт"! С тех пор все работало нормально.

источники: http://www.youtube.com/watch?v=xvJH0wTlRg

1 голос
/ 02 октября 2010

Вам необходимо создать файл database.php в папке конфигурации, чтобы Cake знал, к какой базе данных подключаться для моделей.

Как только вы это сделаете, вам нужно создать схему базы данных, а затем запечь модель для нее.

...