環境など
- Symfony2.7
- PHP5.4.45
- gitでコードのバージョン管理をしている
現象
特定のブランチに切り替えて、 php app/console cache:clear
を実行すると、LogicExceptionが発生します。
やりたいこと、経緯など
バッチを作りたくて、 php app/console {何か自作のバッチ}
でバッチを実行させたいです。
一時的に自分用ではない、別の環境で、自作のバッチを作成し、そこでは動作ができました。
自分用の環境が作れるようになって、gitで自作のバッチを app/console
を使って動かしてみましたが、LogicExceptionが発生していました。
Symfonyの基本コンソール機能である、cache:clear
でも試してみたところ、LogicExceptionが発生、どうもコンソールを使った機能がLogicExceptionにより使えない状態である模様であることがわかりました。
ログ
app/console
を使った時に、 app/log/*.log
には何もログは出力されませんでした。
備考
私は初めてSymfonyを使いました。なので、Symfony自体のコードにこれといった見当がつけられない状態です。
補足
LogicExceptionは以下のように発生しました。
bash
1$ php app/console cache:clear 2 3 4 [LogicException] 5 The container cannot be retrieved as the application instance is not yet set.
なお、自分用ではない環境で自作バッチの起動が正しく起動できたことがあります。
補足2
自作バッチについて
configure
メソッドに 自作クラスプロパティをセットする処理があり、この処理を削除したところ、自作バッチの方は期待通りに動きました。こちらは、解決できたかな、と思います。
cache:clear
について
全く別のエラーが発生するようになりました。
bash
1$ php app/console cache:clear 2 3 [Symfony\Component\Filesystem\Exception\IOException] 4 Failed to remove directory "/opt/httpd/htdocs/Admin/app/cache/de~/assetic": The Symfony\Bundle\MonologBundle\DependencyInjection\ 5 Compiler\DebugHandlerPass class is deprecated since version 2.12 and will be removed in 3.0. Use AddDebugLogProcessorPass in Fram 6 eworkBundle instead.. 7 8 9cache:clear [--no-warmup] [--no-optional-warmers]
開発者が app/cache/de~
をなんとかできればいいので、「解決しないと進めない」から、「まあ、解決できたらいいよね」位になれたのではないかと思います。
「いや、そんなことない、重大だよ!」という突っ込み含めて、こちらについて情報がありましたら、ご情報をお寄せ頂けると助かります。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/04/07 06:08
2017/04/07 06:18 編集
2017/04/07 06:16
2017/04/07 07:36
2017/04/07 08:06
2017/04/07 08:24