如何在CakePHP 2.0中使用控制台命令DbAcl

时间:2011-12-20 18:37:01

标签: console cakephp-2.0

我尝试使用CakePHP 2 consoleLeopardXAMPP进行我的第一步,但我遇到了许多问题,这些问题对我来说并不清楚。< / p>

CakePHP 2.0 guide写完后我需要正确设置/app/Config/database.php to确保它有效,然后我通过用户注册对其进行了测试,一切正常。

然后我读过我可以通过shell调用命令:

$ cake schema create DbAcl

这不起作用,因为我必须将right path写入控制台应用程序,然后:

$ /Users/username/.../site.com/lib/Cake/Console/cake schema create DbAcl

完成后我得到了这个错误:

Welcome to CakePHP v2.0.4 Console
---------------------------------------------------------------
App : username
Path: /Users/username/
---------------------------------------------------------------
Cake Schema Shell
---------------------------------------------------------------
/Users/username/Config/Schema/db_acl.php could not be loaded
iMac-Name:~ username$

我的CakePHP安装位于文件夹site.com

site.com/app
site.com/lib
site.com/plugins
site.com/vendors
site.com/etc.

所以我这样做是为了将CakePHP文件夹更改为名为site.com

的安装文件夹
$ /Users/username/.../site.com/lib/Cake/Console/cake -app /Users/.../site.com

现在我收到这条消息:

Welcome to CakePHP v2.0.4 Console
---------------------------------------------------------------
App : site.com
Path: /Users/.../public_html/site.com/
---------------------------------------------------------------
Current Paths:

-app: site.com
-working: /Users/.../site.com
-root: /Users/.../public_html
-core: /Users/.../site.com/lib

现在,如果我写

$ /Users/username/.../site.com/lib/Cake/Console/cake schema create DbAcl

我再次使用不同的错误获取错误的原始路径:

Welcome to CakePHP v2.0.4 Console
---------------------------------------------------------------
App : username
Path: /Users/username/
---------------------------------------------------------------
Cake Schema Shell
---------------------------------------------------------------
/Users/username/Config/Schema/db_acl.php could not be loaded

如何正确修复路径?

2 个答案:

答案 0 :(得分:5)

奇怪的是,如果我先设置用户文件夹,它就能正常工作:

$ cd folder/webserver/public_html/cake-app-folder
$ sudo lib/Cake/Console/cake schema DbAcl

以这种方式完美地运作

答案 1 :(得分:0)

许多想要使用Cakephp ACL系统的人面临这个问题的真正原因是他们在执行此命令之前忽略了应该处于的正确位置。

如果您注意到错误消息,则说:“无法加载/Users/username/Config/Schema/db_acl.php”。 这是正常的,实际上db_acl.php文件位于/Users/username/app/Config/Schema/db_acl.php

==&GT;要让cakePhp从正确的位置获取文件,您必须在执行命令之前将其放置在蛋糕项目的app文件夹中(在您的情况下为cd folder / webserver / public_html / cake-app-folder或c:\ wamp \ www用于Windows项目案例的\ cakeTest \ app)

Dr.Lotfi

Coopa'easy'