3

我找到了控制台并像这样运行它:

root@valugi-laptop:/var/www/sandbox/hello# php console
Symfony version 2.0.0-DEV - hello

Usage:
  Symfony [options] command [arguments]

Options:
  --help      -h  Display this help message.
  --quiet     -q  Do not output any message.
  --verbose   -v  Increase verbosity of messages.
  --version   -V  Display this program version.
  --color     -c  Force ANSI color output.
  --no-interaction -n  Do not ask any interactive question.
  --shell     -s  Launch the shell.

Available commands:
  help               Displays help for a command (?)
  list               Lists commands
assets
  :install           
bundle
  :pharize           
container
  :graphviz          
doctrine
  :generate-proxies  
init
  :application       
  :bundle            
router
  :debug             Displays current routes for an application
  :dump-apache       

但我无法运行任何这些命令。我正在尝试这样:

php 控制台 Symfony -h

但我明白了

[InvalidArgumentException]         
Command "Symfony" is not defined.  

有什么建议么?

4

6 回答 6

6

控制台是这样使用的:$ php app/console [command name]

于 2011-02-07T11:47:15.997 回答
2

从应用根目录:./app/console --shell

于 2010-10-28T14:29:27.350 回答
1

给自己找个答案。

root@valugi-laptop:/var/www/sandbox/hello# chmod 777 /var/www/sandbox/src/Bundle
root@valugi-laptop:/var/www/sandbox/hello# php console init:bundle "Bundle\\ValugiBundle"
于 2010-06-01T21:32:16.540 回答
1

使用以下命令创建一个新的 symfony2 包:

php app/console init:bundle Acme\\DemoBundle src

这将在 src 中创建一个具有以下目录结构的新包:

src/Acme/DemoBundle/
                    AcmeDemoBundle.php
                    Controller/
                               DefaultController.php
                    Resources/
                              config/
                                     routing.yml
                              views/
                                    Default/
                                            index.html.twig

命名空间将是Acme\DemoBundle.

于 2011-03-18T19:36:45.543 回答
0

我整理了一个 bash 脚本来帮助解决这个问题,它允许从项目中的任何地方轻松访问 CLI 工具。下载它,使其可执行并将其放入您的 PATH(例如 /usr/local/bin/)。

然后,您无需位于项目的根目录即可访问 CLI 工具。开火吧sf <command>。它适用于 Symfony 1.3/1.4 和 Symfony2。

于 2011-04-13T14:57:26.747 回答
-1

我试图否决您自己的答案,但我没有足够的代表!

-

Sergi 和 ok 准确地回答了你,但我会扩展以防万一读到这篇文章的人像你一样感到困惑。

您认为您需要使用“php 控制台 Symfony”,因为您自己不会让文件夹名称变得容易。

我喜欢在我的主文件夹中工作。每当我登录时,我总是从那里开始,所以我在家里创建了一个文件夹,例如:
~/web/sandbox.sf2

那么您可以使用指向 /var/www 的符号链接,例如:
sudo ln -s ~/web/sandbox.sf2/home/myusername/web/sandbox.sf2

所以当你处理你的文件时,你会知道你已经在一个 symfony2 项目中。(我也觉得一开始这样使用它很奇怪,但我已经习惯了,并使用了 Tobias 相同的答案,一个 bin 脚本将 app/console 包装为 sf2 init:bundle 和 sf list 例如)

您显然也有用户权限问题(http://google.com/search?q=linux+permissions,第二个结果看起来不错)。

确保您作为用户/组可以编辑您的文件和文件夹。php app/console 以您使用的用户(在本例中为 root)运行。还要确保 apache 用户/组可以读取您的文件。

-

并且请不要使用 root 帐户来 chmod 777 -R 当某些东西不工作时。测试简单的所有权权限,如果您将 Web 服务器暴露给万维网,它很容易且是一个必要的概念。

于 2011-08-29T05:28:02.633 回答