Как использовать PHP Console в Symfony2
-
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 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.