Capifony高速缓存错误
我想我的Symfony2的应用程序部署到其外部托管,使用capifony我的开发服务器,但我发现了以下错误:Capifony高速缓存错误
--> Updating code base with remote_cache strategy
--> Creating cache directory................................✔
--> Creating symlinks for shared directories................✔
--> Creating symlinks for shared files......................✔
--> Copying Composer from previous release..................✔
--> Updating Composer.......................................✔
--> Updating Composer dependencies..........................✔
--> Building bootstrap file.................................✔
--> Dumping an optimized autoloader.........................✔
--> Installing bundle's assets..............................✔
--> Warming up cache........................................✔
--> Dumping all assets to the filesystem....................✘
*** [err :: x.xx.xx.xxx] PHP Fatal error: Class 'Ivory\GoogleMap\Templating\Helper\Base\CoordinateHelper' not found in /var/www/dev.xyz.co.uk/shared/app/cache/dev/appDevProjectContainer.php on line 462
上午我从我的部署脚本丢失了什么?这里是我的deploy.rb文件:
set :stage_dir, 'app/config/deploy' # needed for Symfony2 only
set :stages, %w(production staging development)
require 'capistrano/ext/multistage'
set :application, "xyz.co.uk"
set :user, "root" # The server's user for deploys
set :normalize_asset_timestamps, false
set :repository, "[email protected]:xyz/xyz.co.uk.git"
set :scm, :git
set :keep_releases, 3
set :use_sudo, false
set :shared_files, ["app/config/parameters.yml"]
set :web_path, "web"
set :shared_children, [app_path + "/logs", app_path + "/cache", web_path + "/uploads", "vendor"]
set :use_composer, true
set :update_vendors, true
set :dump_assetic_assets, true
set :deploy_via, :remote_cache
#logger.level = Logger::MAX_LEVEL
这里是我的development.rb文件:
server 'x.xx.xx.xxx', :app, :web, :db, :primary => true
ssh_options[:port] = xxxx
ssh_options[:forward_agent] = true
set :deploy_to, "/var/www/dev.xyz.co.uk"
set :symfony_env_prod, "dev"
set :branch, "develop"
# Need to clear *_dev controllers
set :clear_controllers, false
版本之间你不应该共享app/cache
。像这样保持:
set :shared_files, ["app/config/parameters.yml"]
set :shared_children, [app_path + "/logs", web_path + "/uploads"]
确定并删除“供应商”?我现在就试试看。 – user1961082 2013-03-27 12:37:45
部署时,我的缓存目录仍然存在问题。我得到错误'RuntimeException:无法写入缓存文件“/var/www/xyz.co.uk/app/cache/dev/classes.php”.',除非我删除所有缓存,那么它工作正常。任何想法为什么这是?我没有像/app/logs/ – user1961082 2013-03-27 12:49:19
这样的app/cache/symlinked你不应该符号链接'app/cache',因为每个版本都有它自己的代码并且需要清除缓存,所以这很好。您的问题与权限有关,您必须按照此处所述设置权限 - http://symfony.com/doc/current/book/installation.html#configuration-and-setup。最简单的方法是将'umask(0000);'添加到'app/console'和'web/app * .php'。 – 2013-03-27 20:46:48
我必须在部署之前删除缓存,然后才能工作。我应该在部署脚本中添加一个挂钩来清除缓存吗? – user1961082 2013-03-27 10:58:23