Question

J'ai trouvé la console et l'exécuter comme ceci:

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       

Mais je ne peux pas exécuter l'une de ces commandes. Je suis en train comme ceci:

console php symfony -h

Mais je reçois

[InvalidArgumentException]         
Command "Symfony" is not defined.  

Toutes les suggestions?

Était-ce utile?

La solution 3

moi-même trouver une réponse.

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"

Autres conseils

Console est utilisé comme ceci: $ php app/console [command name]

A partir de l'application racine: ./app/console --shell

Utilisez ce qui suit pour créer un nouveau paquet de Symfony2:

php app/console init:bundle Acme\\DemoBundle src

Cela va créer un nouveau paquet dans src cette structure de répertoire:

src/Acme/DemoBundle/
                    AcmeDemoBundle.php
                    Controller/
                               DefaultController.php
                    Resources/
                              config/
                                     routing.yml
                              views/
                                    Default/
                                            index.html.twig

et l'espace de noms sera Acme\DemoBundle.

Je mis ensemble un script bash pour aider avec ceci en permettant l'outil CLI pour être facilement accessible de partout dans votre projet. Téléchargez, le rendre exécutable et le mettre dans votre PATH (/ usr / bin local / / par exemple).

Ensuite, vous n'avez pas besoin d'être à la racine de votre projet pour atteindre l'outil CLI. Juste le feu loin sf <command>. Il fonctionne à la fois Symfony 1.3 / 1.4 et Symfony2.

J'ai essayé de voter votre propre réponse, mais je n'ai pas assez représentant pour elle!

-

ok et Sergi vous avez répondu avec précision, mais je vais développer au cas où quelqu'un lisant ceci est confus que vous êtes.

Vous Tought vous avez besoin d'utiliser « console php symfony » parce que vous ne faites pas des noms de dossier facile sur vous-même.

J'aime travailler à partir de mon dossier. Je commence toujours là quand je me connecte donc je me crée un dossier dans ma maison comme:
~/web/sandbox.sf2

alors vous pouvez utiliser des liens symboliques vers / var / www comme:
sudo ln -s ~/web/sandbox.sf2/home/myusername/web/sandbox.sf2

donc quand vous travaillez sur vos fichiers, vous saurez que vous êtes déjà dans un projet Symfony2. (Et je tought aussi, il était bizarre de l'utiliser comme ça au début, mais je m'y suis habitué, et utilisé Tobias même genre de réponse, un script bin pour envelopper app / console comme initialisation SF2: bundle et la liste sf par exemple)

Vous avez évidemment aussi des problèmes d'autorisation de l'utilisateur ( http://google.com/search?q= linux + permissions , deuxième résultat semble bon).

Assurez-vous en tant qu'utilisateur / groupe peut éditer vos fichiers et dossiers. php app / exécute la console en tant qu'utilisateur vous avez utilisé (racine dans ce cas). Assurez-vous également que l'utilisateur apache / groupe peut lire vos fichiers.

-

Et s'il vous plaît, ne faites pas utiliser le compte root pour chmod 777 -R quand quelque chose ne fonctionne pas. Simple test d'autorisation de propriété, il est facile et un concept nécessaire si vous exposez un serveur Web pour le World Wide Web.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top