2012-10-11 117 views
1

我已将CakePHP 1.2站点升级到2.x.CakePHP控制台 - 应用程序错误

此网站使用一个核心的多个应用程序。一切工作正常,除了壳。

我无法从控制台运行其中一个现有的shell。

当我试着使用cake -app store改变应用程序,我得到以下错误:

#!/usr/bin/php -q 
PHP Fatal error: Cannot redeclare class ShellDispatcher in C:\www\domains\cakes\lib\Cake\Console\ShellDispatcher.php on line 24 

Fatal error: Cannot redeclare class ShellDispatcher in C:\www\domains\cakes\lib\Cake\Console\ShellDispatcher.php on line 24 

我执行以下命令:

> cd C:\www\domains\cakes\store

> Console\cake -app store

我得到相同导致Linux(debian)环境。 配置有问题吗?还是蛋糕有问题?

+1

尝试从应用程序文件夹内运行shell(不需要设置-app然后!) – mark

+0

store是应用程序文件夹。 即使我已经在商店 – noslone

+0

以及可能它只是说“应用程序”(作为一般名称),但是意味着真正的商店,应用程序将是应用程序(即使应用程序不在结构中)夹。我ususally不使用的应用程序版本,但蛋糕之一:“/store/>../lib/Cake/Console/cake” – mark

回答

0

首先,谢谢大家试图解决这个问题。

我找到了原因。我为所有应用程序使用一个数据库& core.php文件,而且shell不像我包含这些文件的方式。改变这个之后,错误消失了。

1

您是否删除了链接到旧的cake 1.3核心的任何环境路径? 不是那些干扰你的2.x核心。无论如何,你不需要它们。只有PHP一个。

我猜,如果你没有找到任何炮弹:你没读过的迁移指南,你应该有: http://book.cakephp.org/2.0/en/appendices/2-0-migration-guide.html

炮弹现在在/控制台/命令/

使用一个的可用升级shell来自动生成或手动更改它。 PS:在shell的工作方式上也有一些变化,它们不会让1.3在2.x中开箱即可使用。您将不得不手动解决这些问题。

相关问题