如何在Symfony2中使用PHP控制台2
-
05-10-2019 - |
题
我找到了控制台并这样运行:
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.
有什么建议么?
解决方案 3
找到答案。
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"
其他提示
控制台被这样使用: $ php app/console [command name]
从App root: ./app/console --shell
使用以下内容创建一个新的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
.
我放在一起 bash脚本 通过允许从项目中的任何地方轻松访问CLI工具来帮助解决此问题。下载它,使其可执行,然后将其放入您的路径(例如/usr/local/bin/)。
然后,您无需在项目的根源上即可达到CLI工具。只是开火 sf <command>
. 。它适用于Symfony 1.3/1.4和Symfony2。
我试图投票自己的答案,但我没有足够的代表!
-
塞尔吉(Sergi)和好的,准确地回答了您,但我会扩展,以防万一阅读此书感到困惑。
您需要使用“ PHP控制台Symfony”,因为您不会轻松地将文件夹名称放在自己身上。
我喜欢从主文件夹中工作。每当我登录时,我总是从那里开始,因此我在家中创建一个文件夹,就像:
~/web/sandbox.sf2
然后,您可以使用指向 /var /www的符号链接,例如:
sudo ln -s ~/web/sandbox.sf2/home/myusername/web/sandbox.sf2
因此,当您处理文件时,您会知道自己已经在Symfony2项目中了。 (而且我也很奇怪,最初像这样使用它,但是我已经习惯了,并且使用了tobias相同的答案,一个bin脚本将应用程序/控制台与sf2 init:bundle and sf list一样)
您显然也有用户权限问题(http://google.com/search?q=linux+Permissions, ,第二个结果看起来不错)。
确保您作为用户/组可以编辑您的文件和文件夹。 PHP应用程序/控制台作为您使用的用户运行(在这种情况下为根)。另外,请确保Apache用户/组可以读取您的文件。
-
而且,请在某些东西不起作用时不要使用root帐户到CHMOD 777 -R。测试简单的所有权权限,如果您将Web服务器公开到万维网,则其简单且需要的概念。