Come utilizzare la console php in Symfony2
-
05-10-2019 - |
Domanda
Ho trovato la console e correre in questo modo:
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
Ma non posso eseguire uno di questi comandi. Sto cercando in questo modo:
console php Symfony -h
Ma ottengo
[InvalidArgumentException]
Command "Symfony" is not defined.
Qualche suggerimento?
Soluzione 3
trovo una risposta.
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"
Altri suggerimenti
Console viene utilizzata in questo modo: $ php app/console [command name]
Da radice app: ./app/console --shell
Utilizzare la seguente per creare un nuovo bundle di Symfony2:
php app/console init:bundle Acme\\DemoBundle src
Questo creerà un nuovo bundle in src con questa struttura di directory:
src/Acme/DemoBundle/
AcmeDemoBundle.php
Controller/
DefaultController.php
Resources/
config/
routing.yml
views/
Default/
index.html.twig
e lo spazio dei nomi sarà Acme\DemoBundle
.
ho messo insieme un bash script di per aiutare con questo permettendo lo strumento CLI per essere facilmente accessibile da ovunque nel progetto. Scaricatelo, renderlo eseguibile e metterlo nel PATH (/ usr / local / bin / per esempio).
Quindi non c'è bisogno di essere nella root del vostro progetto per raggiungere lo strumento CLI. Basta fuoco di distanza sf <command>
. Funziona sia per Symfony 1.3 / 1.4 e Symfony2.
Ho cercato di voto verso il basso la propria risposta, ma non ho abbastanza rep per questo!
-
Sergi e ok avete risposto con precisione ma espanderemo nel caso qualcuno leggendo questo è confuso come sei.
È insegnato avete bisogno di usare "console php Symfony", perché voi non fate i nomi delle cartelle facile su te stesso.
Mi piace lavorare dalla mia cartella home. Ho sempre lì comincio ogni volta che accedo così creo io una cartella nella mia casa come:
~/web/sandbox.sf2
allora si potrebbe utilizzare i collegamenti simbolici in / var / www come:
sudo ln -s ~/web/sandbox.sf2/home/myusername/web/sandbox.sf2
in modo che quando si lavora sui file, si sa che già sono in un progetto Symfony2. (E ho insegnato anche che fosse strano da usare in quel modo in un primo momento, ma mi ci sono abituato, e utilizzato Tobias stesso tipo di risposta, uno script bin per avvolgere app / console come init SF2: fascio e la lista sf per esempio)
È, ovviamente, hanno anche problemi di autorizzazione utente ( http://google.com/search?q= Linux + permessi , secondo risultato sembra buono).
Assicurati di come un utente / gruppo può modificare i file e le cartelle. php app / piste console come l'utente utilizzato (root in questo caso). Assicurarsi inoltre che l'utente apache / gruppo può leggere i file.
-
E per favore, Dont conto l'uso di root per chmod 777 -R quando qualcosa non funziona. Test semplice autorizzazione della proprietà, la sua facile e un concetto necessario se si sta esponendo un server web per il world wide web.