2013-03-14 10 views
8

私は、私のSymfonyアプリケーションをCapifonyを使って展開しています。 Capifonyがasseticを実行するとき:dump私はランタイムExceptionを取得します。 {パス} /解放/ 20130314071536 /アプリケーションファイルを書き込むことができませんSymfony assetic:ダンプランタイム例外

【のRuntimeException]
/../ウェブ/ JS /。

私は手動でコマンドを実行して、同じ例外を取得しようとしました。
次に、--verboseパラメータを使ってコマンドを試してみましたが、ソースパスにドットが含まれているすべてのファイルが、ファイル名なしで書かれた場所、拡張子だけにあることに気付きました。拡張子なしのファイル名(この場合はMakefile)を入力し、ファイル "。"を書き込もうとすると、例外が発生します。 (ドットのみ)。

同じサーバー上の別のドメインには、まったく同じコードがありますが、手動で展開します。そこに私はこのエラーを取得しません。したがって、PHPのバージョンでは問題にはなりません。私はAsseticとAssetic-Bundleのバージョンもチェックしましたが、それらは同じです。

assaysが異なるのは何が原因でしょうか?

編集:
私の開発マシンでも正しく動作することを忘れていました。

EDIT 2:
それは

ファイルのEDIT 3失敗を開始:私はちょうど...それはDEV環境に正常に動作することを実現したが--env = prodのために、それは問題が

を生じ与え

ウェブ/バンドル/資産/資産/画像/アイコン/ aws.png

私は任意のテンプレート

に使用していないファイル

スタックトレースエラーから

Exception trace: 
() at /home/yanic.info/domains/pe.yanic.info/public_html/releases/20130318143912/vendor/symfony/assetic-bundle/Symfony/Bundle/AsseticBundle/Command/DumpCommand.php:249 
Symfony\Bundle\AsseticBundle\Command\DumpCommand->doDump() at /home/yanic.info/domains/pe.yanic.info/public_html/releases/20130318143912/vendor/symfony/assetic-bundle/Symfony/Bundle/AsseticBundle/Command/DumpCommand.php:187 
Symfony\Bundle\AsseticBundle\Command\DumpCommand->dumpAsset() at /home/yanic.info/domains/pe.yanic.info/public_html/releases/20130318143912/vendor/symfony/assetic-bundle/Symfony/Bundle/AsseticBundle/Command/DumpCommand.php:64 
Symfony\Bundle\AsseticBundle\Command\DumpCommand->execute() at /home/yanic.info/domains/pe.yanic.info/public_html/releases/20130318143912/vendor/symfony/symfony/src/Symfony/Component/Console/Command/Command.php:238 
Symfony\Component\Console\Command\Command->run() at /home/yanic.info/domains/pe.yanic.info/public_html/releases/20130318143912/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:192 
Symfony\Component\Console\Application->doRun() at /home/yanic.info/domains/pe.yanic.info/public_html/releases/20130318143912/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php:78 
Symfony\Bundle\FrameworkBundle\Console\Application->doRun() at /home/yanic.info/domains/pe.yanic.info/public_html/releases/20130318143912/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:105 
Symfony\Component\Console\Application->run() at /home/yanic.info/domains/pe.yanic.info/public_html/releases/20130318143912/app/console:33 

config.yml

# Twig Configuration 
twig: 
    debug:   %kernel.debug% 
    strict_variables: %kernel.debug% 
    form: 
     resources: [HomeBundle:Form:fields.html.twig] 
# Assetic Configuration 
assetic: 
    write_to: "%kernel.root_dir%/../web" 
    debug:   %kernel.debug% 
    use_controller: false 
    bundles:  ['YanicSecurityBundle','HomeBundle','UsersBundle','CmsBundle','AssetsBundle','FormBundle','TranslationBundle','EventBundle','ShopBundle','NewsletterBundle','IssueBundle','ProjectBundle'] 
    filters: 
     cssrewrite: ~ 

EDIT 4:
aws.png(破壊された最初の結果)を検索する場合、キャッシュ内の検索結果がありますファイル:

/Applications/MAMP/htdocs/symfony-standard-2.1/app/cache/dev/appDevUrlGenerator.php: 
    112   '_assetic_e4d7f8d' => array ( 0 => array (), 1 => array ( '_controller' => 'assetic.controller:render', 'name' => 'e4d7f8d', 'pos' => NULL, '_format' => 'png', ), 2 => array (), 3 => array ( 0 =>  array (  0 => 'text',  1 => '/js/assets/images/icons/arrow_rotate_clockwise.png', ), ),), 
    113   '_assetic_e4d7f8d_0' => array ( 0 => array (), 1 => array ( '_controller' => 'assetic.controller:render', 'name' => 'e4d7f8d', 'pos' => '0', '_format' => 'png', ), 2 => array (), 3 => array ( 0 =>  array (  0 => 'text',  1 => '/js/assets/images/icons/arrow_rotate_clockwise_arrow_rotate_clockwise_1.png', ), ),), 
    114:   '_assetic_e1ec2e3' => array ( 0 => array (), 1 => array ( '_controller' => 'assetic.controller:render', 'name' => 'e1ec2e3', 'pos' => NULL, '_format' => 'png', ), 2 => array (), 3 => array ( 0 =>  array (  0 => 'text',  1 => '/js/assets/images/icons/aws.png', ), ),), 
    115   '_assetic_e1ec2e3_0' => array ( 0 => array (), 1 => array ( '_controller' => 'assetic.controller:render', 'name' => 'e1ec2e3', 'pos' => '0', '_format' => 'png', ), 2 => array (), 3 => array ( 0 =>  array (  0 => 'text',  1 => '/js/assets/images/icons/aws_aws_1.png', ), ),), 
    116   '_assetic_490c282' => array ( 0 => array (), 1 => array ( '_controller' => 'assetic.controller:render', 'name' => '490c282', 'pos' => NULL, '_format' => 'png', ), 2 => array (), 3 => array ( 0 =>  array (  0 => 'text',  1 => '/js/assets/images/icons/cancel.png', ), ),), 
    ... 
    874   '_assetic_13192a1' => array ( 0 => array (), 1 => array ( '_controller' => 'assetic.controller:render', 'name' => '13192a1', 'pos' => NULL, '_format' => 'png', ), 2 => array (), 3 => array ( 0 =>  array (  0 => 'text',  1 => '/js/images/icons/arrow_rotate_clockwise.png', ), ),), 
    875   '_assetic_13192a1_0' => array ( 0 => array (), 1 => array ( '_controller' => 'assetic.controller:render', 'name' => '13192a1', 'pos' => '0', '_format' => 'png', ), 2 => array (), 3 => array ( 0 =>  array (  0 => 'text',  1 => '/js/images/icons/arrow_rotate_clockwise_arrow_rotate_clockwise_1.png', ), ),), 
    876:   '_assetic_3d6d4c9' => array ( 0 => array (), 1 => array ( '_controller' => 'assetic.controller:render', 'name' => '3d6d4c9', 'pos' => NULL, '_format' => 'png', ), 2 => array (), 3 => array ( 0 =>  array (  0 => 'text',  1 => '/js/images/icons/aws.png', ), ),), 
    877   '_assetic_3d6d4c9_0' => array ( 0 => array (), 1 => array ( '_controller' => 'assetic.controller:render', 'name' => '3d6d4c9', 'pos' => '0', '_format' => 'png', ), 2 => array (), 3 => array ( 0 =>  array (  0 => 'text',  1 => '/js/images/icons/aws_aws_1.png', ), ),), 
    878   '_assetic_5ea17b1' => array ( 0 => array (), 1 => array ( '_controller' => 'assetic.controller:render', 'name' => '5ea17b1', 'pos' => NULL, '_format' => 'png', ), 2 => array (), 3 => array ( 0 =>  array (  0 => 'text',  1 => '/js/images/icons/cancel.png', ), ),), 

/Applications/MAMP/htdocs/symfony-standard-2.1/app/cache/dev/appDevUrlMatcher.php: 
    517 
    518   // _assetic_e1ec2e3 
    519:   if ($pathinfo === '/js/assets/images/icons/aws.png') { 
    520    return array ( '_controller' => 'assetic.controller:render', 'name' => 'e1ec2e3', 'pos' => NULL, '_format' => 'png', '_route' => '_assetic_e1ec2e3',); 
    521   } 
    ... 
4327 
4328   // _assetic_3d6d4c9 
4329:   if ($pathinfo === '/js/images/icons/aws.png') { 
4330    return array ( '_controller' => 'assetic.controller:render', 'name' => '3d6d4c9', 'pos' => NULL, '_format' => 'png', '_route' => '_assetic_3d6d4c9',); 
4331   

EDIT 5:
@cheesemacflyのお勧めの通り、hearsay_require_jsバンドルを削除しましたが、問題はなくなりました。エラーの原因が分かったので、ステージングサーバー上でなぜ発生するのか、そしてCapifonyで展開するのはなぜなのかを知る必要があります。 http://symfony.com/doc/2.0/book/installation.htmlは権限]セクションの設定:

+0

お役に立てば幸いです。 – cheesemacfly

+0

@cheesemacflyあなたはTwigテンプレートの中からですか? – Michi

+0

あなたがあなたの小枝のテンプレートでのみ使用するなら、はい! (少なくともあなたが問題を抱えている場所で) – cheesemacfly

答えて

0

あなたの権限を確認し、あなたが

Unable to write file {path}/releases/20130314071536/app/../web/js/. 

には書き込み権限がここを見ていないようです。

1つの質問...

deploy.rb設定をアップロードできますか? ユーザー、ルートモード...を設定しましたか?

また、あなたが展開

+0

root権限で実行しようとしたときにアクセス権の問題ではなく、同じ問題があります。 – Michi

+0

そのフォルダは存在していますか? –

2

があなたのキャッシュディレクトリを再作成してみステップごとに表示されます次の行

logger.level = Logger::MAX_LEVEL 

のコメントを解除することにより、より詳細なことができます。

キャッシュが同期していないときは、あらゆる種類の奇妙な動作が発生する可能性があります。それが権限を持つ問題だ、他のユーザーと同様に

rm -rf app/cache/* 

sudo chmod +a "www-data allow delete,write,append,file_inherit,directory_inherit" app/cache 
sudo chmod +a "`whoami` allow delete,write,append,file_inherit,directory_inherit" app/cache 

または

rm -rf app/cache/* 

sudo setfacl -R -m u:www-data:rwX -m u:`whoami`:rwX app/cache 
sudo setfacl -dR -m u:www-data:rwx -m u:`whoami`:rwx app/cache 
+0

こんにちは@ daniel-p。Capifonyは、デプロイ毎に新しく作成されたキャッシュディレクトリを使用していますので、それはできません。 – Michi

+0

ディレクトリがクリアされていることを確認しましたか? –

+0

それはクリアされていません...プロジェクト全体がシンボリックリンクされた新しく作成されたディレクトリに入ります...そのため、キャッシュディレクトリも新しくなりました – Michi

0

言った:

は、あなたのキャッシュをクリアします。

rm -rf symfonyProject/app/cache/*

chmod -R 755 symfonyProject/

chmod -R 777 symfonyProject/app/cache/

chmod -R 777 symfonyProject/app/logs/

それはあなたがasseticは、プロジェクトで使用されているラインを提供することができればそれが役に立つかもしれ

+0

こんにちは@ mirza-selimovich。同じことが起こった...私の更新を参照してください! – Michi

関連する問題