質問

コンソールを見つけて次のように実行します。

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/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.

私はまとめました バッシュスクリプト CLIツールをプロジェクトの至る所から簡単にアクセスできるようにすることで、これを支援します。ダウンロードして、実行可能にして、パスに入れます(/usr/local/bin/など)。

その場合、CLIツールに到達するためにプロジェクトのルートにいる必要はありません。ただ発射してください sf <command>. 。 Symfony 1.3/1.4とSymfony2の両方で機能します。

あなた自身の回答に反対票を投じようとしましたが、それに対する十分な担当者がいません。

-

Sergi と OK は正確に答えましたが、これを読んでいる人があなたと同じように混乱している場合に備えて詳しく説明します。

フォルダー名を自分で簡単に付けられないため、「php console Symfony」を使用する必要があると考えました。

私はホームフォルダーから作業するのが好きです。ログインするときはいつもそこから始まるので、自宅に次のようなフォルダーを作成します。
~/web/sandbox.sf2

次に、/var/www へのシンボリック リンクを次のように使用できます。
sudo ln -s ~/web/sandbox.sf2/home/myusername/web/sandbox.sf2

そのため、ファイルを操作するとき、自分がすでに symfony2 プロジェクトにいることを知ることができます。(私も最初はそのように使うのは奇妙だと思いましたが、慣れて、Tobiasと同じ種類の答え、たとえばアプリ/コンソールをsf2 init:bundleおよびsf listとしてラップするbinスクリプトを使用しました)

明らかにユーザー権限の問題もあります(http://google.com/search?q=linux+permissions, 、2 番目の結果は良好なようです)。

ユーザー/グループとしてファイルとフォルダーを編集できることを確認してください。php app/console は、使用したユーザー (この場合は root) として実行されます。また、Apache ユーザー/グループがファイルを読み取れることを確認してください。

-

また、何かが動作していないときに root アカウントを使用して chmod 777 -R を実行しないでください。単純な所有権の許可をテストします。これは簡単であり、Web サーバーを World Wide Web に公開する場合に必要な概念です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top