Вопрос по shell, cakephp – Оболочка Cakephp: класс оболочки HelloShell не найден
Я новичок в CakePHP. Я настраиваю оболочку CakePHP как CakePHP В справочнике говорится, когда я запускаю HelloShell с командой торт Здравствуйте, я получил информацию об ошибке следующим образом:
Error: Shell class HelloShell could not be found.
1#G:\htdocs\cakedemo\lib\Cake\Console\ShellDispatcher.php(191):ShellDispatcher>_getShell('hello')
2#G:\htdocs\cakedemo\lib\Cake\Console\ShellDispatcher.php(69):ShellDispatcher->dispatch()
3#G:\htdocs\cakedemo\app\Console\cake.php(33):ShellDispatcher::run(Array) {main}
моя версия CakePHP:
Welcome to CakePHP v2.2.0-beta ConsoleПриложение: Консоль
Path: G:\htdocs\cakedemo\app\Console\Любой, кто может помочь, может дать мне совет, прошу.
что вы указали путь к папке тортов в /var/www/html/Console/cake.php ini_set ("include_path", $ root. PATH_SEPARATOR. "Cake". $ ds. "lib". PATH_SEPARATOR. ini_get ("include_path"));
Затем перейдите в корневую папку. В моем случае местоположение будет / Var / WWW / HTML / затем дайте имя файла оболочки; привет мое имя оболочки, это было бы / var / www / html / Консоль / торт привет объединяя вместе / var / www / html $ / var / www / html / Консоль / торт привет
Ваша оболочка будет выполнена.
Shell class HelloShell could not be found
появляются потому что: опечатка ошибка или запустить команду в неправильном каталоге.
Solution:
1. Путь установки для php.exe, cake.exe
2. Например, мой корень сайта Cake:
C:\tools\xampp1.8.3\htdocs\cakephp-2.5.5
Создать новый файл в папкеC:\tools\xampp1.8.3\htdocs\cakephp-2.5.5\app\Console\Command\HelloShell.php
с содержанием:
class HelloShell extends AppShell {
public function main() {
$this->out('Hello world.');
}
}
3. открытоcmd, тип:
cd /d C:\tools\xampp1.8.3\htdocs\cakephp-2.5.5\app
cake hello
Мы используемhello
в командной строке позвонитьHelloShell
класс, потому что "Соглашение по конфигурации".
Ссылка: http://book.cakephp.org/2.0/en/console-and-shells.html#creating-a-shell
Вы всегда должны быть в пути APP для запуска консоли тортов.
...app/>../lib/Cake/Console/cake MyShell
или (используя папку консоли APP):
...app/>Console/cake MyShell
и MyShell должен быть в...app/Console/Command/
.
Thats all there is to it.