Вопрос

Я нашел консоль и запустил это так:

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 Console 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/console --shell

Используйте следующее, чтобы создать новую Symfony2 Bundle:

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.

Я пытался проголосовать по своему собственному ответу, но мне не хватает предложений!

-

Серги и ж ответили вам точно, но я буду расширяться в случае, если кто-нибудь читает, смущено, как вы.

Вы не должны были использовать «Symfony Console Php Console», потому что вы легко не делаете имена папок.

Мне нравится работать из моей домашней папки. Я всегда начинаю там всякий раз, когда я вошел в систему, так что я создаю себе папку в моем доме, как:
~/web/sandbox.sf2

Тогда вы можете использовать символические ссылки на / var / www, как:
sudo ln -s ~/web/sandbox.sf2/home/myusername/web/sandbox.sf2

Поэтому, когда вы работаете над своими файлами, вы будете знать, что вы уже находитесь в проекте Symfony2. (И я тоже не стал странно использовать это подобным образом, но я привык к нему, и использовал тот же ответ Tobias, сценарий Bin для обертывания приложения / консоли в качестве SF2 init: Bundle и SF списка)

Вы, очевидно, также имеют проблемы с разрешения пользователя (http://google.com/search?q=linux+permissions., второй результат выглядит хорошо).

Убедитесь, что вы в качестве пользователя / группы могут редактировать ваши файлы и папки. PHP App / Console проходит как пользователь, который вы использовали (root в этом случае). Также убедитесь, что пользователь / группа Apache может прочитать ваши файлы.

-

И, пожалуйста, не используйте root Account к Chmod 777 -R, когда что-то не работает. Проверьте простое разрешение на собственность, его простая и необходимая концепция, если вы обнаживаете веб-сервер в World Wide Web.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top