2017-04-05 21 views
0

私はSymfonyアプリケーションをデプロイしていますが、現在のディレクトリのシンボリックリンクに問題があります。Capistrano Symfonyの現在のシンボリックリンクが動作しない

シンボリックリンクを削除して再度デプロイすると動作しますが、シンボリックリンクが失敗した場合のアップデートです!

私はこれらのソリューションをテストした:

Deploy:symlink on capistrano points the "current" directory to previous release

をしかし、それは仕事をdoesntの、私の展開ファイルがあります:

set :application, 'aci' 
set :repo_url, '[email protected]:myrepo/repo.git' 

set :scm, :git 

set :composer_install_flags, '--no-interaction --optimize-autoloader' 

# Symfony console commands will use this environment for execution 
set :symfony_env, "prod" 

# Set this to 2 for the old directory structure 
set :symfony_directory_structure, 3 
# Set this to 4 if using the older SensioDistributionBundle 
set :sensio_distribution_version, 5 

# symfony-standard edition directories 
set :app_path, "app" 
set :web_path, "web" 
set :var_path, "var" 
set :bin_path, "app" 

# The next 3 settings are lazily evaluated from the above values, so take care 
# when modifying them 
set :app_config_path, "app/config" 
set :log_path, "app/logs" 
set :cache_path, "app/cache" 

set :symfony_console_path, "app/console" 
set :symfony_console_flags, "--no-debug" 

# Remove app_dev.php during deployment, other files in web/ can be specified here 
set :controllers_to_clear, ["app_*.php"] 

# asset management 
set :assets_install_path, "web" 
set :assets_install_flags, '--symlink' 

# Share files/directories between releases 
set :linked_files, [] 
set :linked_dirs, ["app/logs"] 

# Set correct permissions between releases, this is turned off by default 
set :file_permissions_paths, ["app"] 
set :permission_method, false 

# Share files/directories between releases 
set :linked_files, %w{app/config/parameters.yml} 
set :linked_dirs, %w{app/logs web/uploads} 

after 'deploy:starting', 'composer:install_executable' 
after 'deploy:updated', 'symfony:assets:install' 
after 'deploy', 'deploy:symlink:release' 
+0

「それは動作していません」エラーテキスト、ログ、またはヒント? – goto

答えて

0

私はwasnそれで解決

を見つけましたsymlinkの問題ではなく、APCの問題があるので、2つのソリューションがあります。

ファースト>速度や汚れ:

/etc/init.d/apache2 restart 

セカンド>長く、よりクリア:

  • https://github.com/ornicar/ApcBundle
  • があなたの.rakeでこれを追加インストールします。

    名前空間:symfonyは DESCを行います"clear apc cache" タスク:clear_apc do ロール(:app)do symfony_consoル「APC:クリア」 終了 エンド エンド

だから今、あなたはそれぞれのデプロイ後に、APCキャッシュをクリアし、プロジェクトが最新であるあなたのdeploy.rbに

after "deploy", "symfony:clear_apc" 

これを追加。

関連する問題