如何使用PHP控制台Symfony2的
我发现控制台像这样运行:如何使用PHP控制台Symfony2的
[email protected]:/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.
有什么建议?
找到自己的答案。
[email protected]:/var/www/sandbox/hello# chmod 777 /var/www/sandbox/src/Bundle
[email protected]:/var/www/sandbox/hello# php console init:bundle "Bundle\\ValugiBundle"
从应用程序根:./app/console --shell
控制台使用这样的:$ php app/console [command name]
使用以下方法来创建一个新的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
。
我把a bash script放在一起,通过允许您的项目中的任何地方轻松访问CLI工具来实现这一点。下载它,使其可执行并放入PATH(例如/ usr/local/bin /)。
然后,您不需要在您的项目的根目录中找到CLI工具。只需开除sf <command>
。它适用于Symfony 1.3/1.4和Symfony2。
我试着投下你自己的答案,但我没有足够的代表它!
-
塞尔吉和确定准确的回答你,但因为你是我的情况下,任何人读这是扩大混淆。
你需要使用“php console Symfony”,因为你不会让文件夹名称变得简单。
我喜欢从我的家庭文件夹工作。我总是从这里开始,每当我登录,所以我创建自己的文件夹在我的家乡,如:~/web/sandbox.sf2
,那么你可以使用符号链接到/ var/WWW一样:sudo ln -s ~/web/sandbox.sf2/home/myusername/web/sandbox.sf2
所以当你的工作在你的文件上,你会知道你已经在一个symfony2项目中。 (我也想到了,起初使用它很奇怪,但我已经习惯了它,并且使用了Tobias同样的答案,例如bin脚本来将应用程序/控制台包装为sf2 init:bundle和sf list )
您显然也有用户权限问题(http://google.com/search?q=linux+permissions,第二个结果看起来不错)。
确保您作为用户/组可以编辑您的文件和文件夹。 php应用程序/控制台以您使用的用户身份运行(在本例中为root)。 还要确保Apache用户/组可以读取您的文件。
-
并请,不要使用root帐户和chmod 777 -R当事情不工作。如果您要将Web服务器暴露给万维网,请测试简单的所有权许可,这是一种简单且必要的概念。
大家1年半前在哪里?这篇文章是关于非常非常beta的Symfony2。 – 2011-08-29 19:50:43
由于它是sf2的测试版,您可以随时删除此问题,因为没有人会遇到此问题。 – bksunday 2011-09-08 04:30:08
该语法看起来不正确。你应该从根目录执行命令,而不是在应用程序文件夹内。 – xaav 2011-05-16 00:30:25
这是大约一年前... symfony是真的测试版 – 2011-05-18 07:03:34