【问题标题】:An error occurred when executing the "'cache:clear --no-warmup'"执行“'cache:clear --no-warmup'”时出错
【发布时间】:2013-12-23 07:52:03
【问题描述】:

清除缓存时 Capifony 上限部署失败。

这些是日志。

我尝试了很多事情,例如在服务器和本地执行应用程序/控制台缓存:清除。

你能帮帮我吗?

$ cap staging deploy
--> Updating code base with remote_cache strategy
--> Creating cache directory................................✔
--> Creating symlinks for shared directories................✔
--> Creating symlinks for shared files......................✔
--> Normalizing asset timestamps............................✔
--> Updating Composer.......................................✔
--> Installing Composer dependencies........................✘
*** [err :: somsom.jp] [RuntimeException]
*** [err :: somsom.jp] An error occurred when executing the "'cache:clear --no-warmup'" command.
*** [err :: somsom.jp] 
*** [err :: somsom.jp] Exception trace:
*** [err :: somsom.jp] () at /var/www/html/somsom.jp/shared/vendor/sensio/distribution-bundle/Sensio/Bundle/DistributionBundle/Composer/ScriptHandler.php:182
*** [err :: somsom.jp] Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::executeCommand() at /var/www/html/somsom.jp/shared/vendor/sensio/distribution-bundle/Sensio/Bundle/DistributionBundle/Composer/ScriptHandler.php:62
*** [err :: somsom.jp] Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache() at phar:///var/www/html/somsom.jp/releases/20131223074835/composer.phar/src/Composer/EventDispatcher/EventDispatcher.php:165
*** [err :: somsom.jp] Composer\EventDispatcher\EventDispatcher->executeEventPhpScript() at phar:///var/www/html/somsom.jp/releases/20131223074835/composer.phar/src/Composer/EventDispatcher/EventDispatcher.php:138
*** [err :: somsom.jp] Composer\EventDispatcher\EventDispatcher->doDispatch() at phar:///var/www/html/somsom.jp/releases/20131223074835/composer.phar/src/Composer/EventDispatcher/EventDispatcher.php:107
*** [err :: somsom.jp] Composer\EventDispatcher\EventDispatcher->dispatchCommandEvent() at phar:///var/www/html/somsom.jp/releases/20131223074835/composer.phar/src/Composer/Installer.php:288
*** [err :: somsom.jp] Composer\Installer->run() at phar:///var/www/html/somsom.jp/releases/20131223074835/composer.phar/src/Composer/Command/InstallCommand.php:110
*** [err :: somsom.jp] Composer\Command\InstallCommand->execute() at phar:///var/www/html/somsom.jp/releases/20131223074835/composer.phar/vendor/symfony/console/Symfony/Component/Console/Command/Command.php:244
*** [err :: somsom.jp] Symfony\Component\Console\Command\Command->run() at phar:///var/www/html/somsom.jp/releases/20131223074835/composer.phar/vendor/symfony/console/Symfony/Component/Console/Application.php:897
*** [err :: somsom.jp] Symfony\Component\Console\Application->doRunCommand() at phar:///var/www/html/somsom.jp/releases/20131223074835/composer.phar/vendor/symfony/console/Symfony/Component/Console/Application.php:191
*** [err :: somsom.jp] Symfony\Component\Console\Application->doRun() at phar:///var/www/html/somsom.jp/releases/20131223074835/composer.phar/src/Composer/Console/Application.php:117
*** [err :: somsom.jp] Composer\Console\Application->doRun() at phar:///var/www/html/somsom.jp/releases/20131223074835/composer.phar/vendor/symfony/console/Symfony/Component/Console/Application.php:121
*** [err :: somsom.jp] Symfony\Component\Console\Application->run() at phar:///var/www/html/somsom.jp/releases/20131223074835/composer.phar/src/Composer/Console/Application.php:83
*** [err :: somsom.jp] Composer\Console\Application->run() at phar:///var/www/html/somsom.jp/releases/20131223074835/composer.phar/bin/composer:43
*** [err :: somsom.jp] require() at /var/www/html/somsom.jp/releases/20131223074835/composer.phar:15
*** [err :: somsom.jp] 
*** [err :: somsom.jp] 
*** [err :: somsom.jp] install [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--no-plugins] [--no-custom-installers] [--no-scripts] [--no-progress] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader]
*** [err :: somsom.jp] 
*** [err :: somsom.jp] 
*** [deploy:update_code] rolling back
failed: "TERM=dumb sudo -u app /bin/sh -c 'sh -c '\\''cd /var/www/html/somsom.jp/releases/20131223074835 && php composer.phar install --no-dev --verbose --prefer-dist --optimize-autoloader --no-progress'\\'''" on somsom.jp

使用 logger.level = Logger::MAX_LEVEL

--> Installing Composer dependencies
  * executing "sh -c 'cd /var/www/html/somsom.jp/releases/20131223135618 && php composer.phar install --no-dev --verbose --prefer-dist --optimize-autoloader --no-progress'"
    servers: ["somsom.jp"]
    [somsom.jp] executing command
 ** [out :: somsom.jp] Loading composer repositories with package information
 ** [out :: somsom.jp] Installing dependencies from lock file
 ** [out :: somsom.jp] Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. Run update to update them.
 ** [out :: somsom.jp] Nothing to install or update
 ** [out :: somsom.jp] Generating autoload files
 ** [out :: somsom.jp] [Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException]
 ** [out :: somsom.jp] You have requested a non-existent parameter "locale".
 ** [out :: somsom.jp] Script Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache handling the post-install-cmd event terminated with an exception
*** [err :: somsom.jp] [RuntimeException]
*** [err :: somsom.jp] An error occurred when executing the "'cache:clear --no-warmup'" command.
*** [err :: somsom.jp] 
*** [err :: somsom.jp] Exception trace:
*** [err :: somsom.jp] () at /var/www/html/somsom.jp/shared/vendor/sensio/distribution-bundle/Sensio/Bundle/DistributionBundle/Composer/ScriptHandler.php:182
*** [err :: somsom.jp] Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::executeCommand() at /var/www/html/somsom.jp/shared/vendor/sensio/distribution-bundle/Sensio/Bundle/DistributionBundle/Composer/ScriptHandler.php:62
*** [err :: somsom.jp] Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache() at phar:///var/www/html/somsom.jp/releases/20131223135618/composer.phar/src/Composer/EventDispatcher/EventDispatcher.php:165
*** [err :: somsom.jp] Composer\EventDispatcher\EventDispatcher->executeEventPhpScript() at phar:///var/www/html/somsom.jp/releases/20131223135618/composer.phar/src/Composer/EventDispatcher/EventDispatcher.php:138
*** [err :: somsom.jp] Composer\EventDispatcher\EventDispatcher->doDispatch() at phar:///var/www/html/somsom.jp/releases/20131223135618/composer.phar/src/Composer/EventDispatcher/EventDispatcher.php:107
*** [err :: somsom.jp] Composer\EventDispatcher\EventDispatcher->dispatchCommandEvent() at phar:///var/www/html/somsom.jp/releases/20131223135618/composer.phar/src/Composer/Installer.php:288
*** [err :: somsom.jp] Composer\Installer->run() at phar:///var/www/html/somsom.jp/releases/20131223135618/composer.phar/src/Composer/Command/InstallCommand.php:110
*** [err :: somsom.jp] Composer\Command\InstallCommand->execute() at phar:///var/www/html/somsom.jp/releases/20131223135618/composer.phar/vendor/symfony/console/Symfony/Component/Console/Command/Command.php:244
*** [err :: somsom.jp] Symfony\Component\Console\Command\Command->run() at phar:///var/www/html/somsom.jp/releases/20131223135618/composer.phar/vendor/symfony/console/Symfony/Component/Console/Application.php:897
*** [err :: somsom.jp] Symfony\Component\Console\Application->doRunCommand() at phar:///var/www/html/somsom.jp/releases/20131223135618/composer.phar/vendor/symfony/console/Symfony/Component/Console/Application.php:191
*** [err :: somsom.jp] Symfony\Component\Console\Application->doRun() at phar:///var/www/html/somsom.jp/releases/20131223135618/composer.phar/src/Composer/Console/Application.php:117
*** [err :: somsom.jp] Composer\Console\Application->doRun() at phar:///var/www/html/somsom.jp/releases/20131223135618/composer.phar/vendor/symfony/console/Symfony/Component/Console/Application.php:121
*** [err :: somsom.jp] Symfony\Component\Console\Application->run() at phar:///var/www/html/somsom.jp/releases/20131223135618/composer.phar/src/Composer/Console/Application.php:83
*** [err :: somsom.jp] Composer\Console\Application->run() at phar:///var/www/html/somsom.jp/releases/20131223135618/composer.phar/bin/composer:43
*** [err :: somsom.jp] require() at /var/www/html/somsom.jp/releases/20131223135618/composer.phar:15
*** [err :: somsom.jp] 
*** [err :: somsom.jp] 
*** [err :: somsom.jp] install [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--no-plugins] [--no-custom-installers] [--no-scripts] [--no-progress] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader]
*** [err :: somsom.jp] 
*** [err :: somsom.jp] 
    command finished in 3638ms
*** [deploy:update_code] rolling back
  * executing "rm -rf /var/www/html/somsom.jp/releases/20131223135618; true"
    servers: ["somsom.jp"]
    [somsom.jp] executing command
    command finished in 152ms
failed: "TERM=dumb sudo -u app /bin/sh -c 'sh -c '\\''cd /var/www/html/somsom.jp/releases/20131223135618 && php composer.phar install --no-dev --verbose --prefer-dist --optimize-autoloader --no-progress'\\'''" on somsom.jp

它说'您请求了一个不存在的参数“locale”'

在我的 config.yml 中。它需要 %locale%

imports:
    - { resource: parameters.yml }
    - { resource: security.yml }
    - { resource: "@AcmeAdminBundle/Resources/config/admin.yml"}


framework:
    translator:      { fallback: %locale% }

在parameters.yml中。有语言环境值。

parameters:    
    locale: ja

而且它在本地环境中也能正常工作。

服务器有什么变化?

【问题讨论】:

    标签: symfony deployment capistrano capifony


    【解决方案1】:

    将此行添加到您的deploy.rb 以查看更多详细信息:

    logger.level = Logger::MAX_LEVEL
    

    验证parameters.yml的内容,这个问题比较多。

    【讨论】:

    • 感谢我的 Logger 级别已经达到最大值。我现在验证 parameters.yml。
    • 然后用完整的输出更新您的问题,以便我们更详细地了解问题所在。
    • 如果您确定 parameters.yml 包含 locale: ja,请仔细检查它是否在部署之间共享 - set :shared_files, ["app/config/parameters.yml"]。如果不是这种情况,那么我建议您运行cap -d deploy 并密切关注该过程。
    • 嗨 Anton Babenko 'cap -d deploy' 非常有帮助!我可以在步骤中间停下来确认 parameters.yml 不知何故为空白。所以我通过手动操作复制并粘贴它。如果我设置一次,它可以一直部署。我不知道为什么parameters.yml 没有自动上传,但是现在我可以部署了。
    • 如果它设置在shared_files中,那么你可以在shared/app/config/parameters.yml中设置它的内容,它会在部署时被符号链接。祝你好运@whitebear :)
    【解决方案2】:

    在我看来,我只会去 app/cache 目录和 rm -rf prodrm -rf dev

    【讨论】:

    • 他不能这样做,因为部署过程是原子的......要么完全部署,要么根本不部署(正在删除文件)
    【解决方案3】:

    我对您遇到的Capifony 的问题非常感兴趣,因为我有很多这样的问题。

    这是我在 Google 上找到的:Capistrano: use a custom user instead of root with sudo

    那么,您的deploy.rb 中是否有与此类似的一行?

    set :default_shell,         "TERM=dumb sudo -u www-data /bin/sh"
    

    【讨论】:

    • 完全正确。我设置了这一行:default_shell, "TERM=dumb sudo -u app /bin/sh" 。但是我认为这不是这个问题的原因。因为我在同一台服务器上的另一个 capifony 部署脚本中使用了同一个用户(效果很好)
    【解决方案4】:

    我遇到了同样的问题,因为我在 AppKernel 中注册了一个捆绑包(doctrine-fixture),但使用了 require-dev 来安装它

    所以处理缓存的 composer.json 部分(symfony 标准版的“脚本”部分)一旦在产品服务器上工作就被搞砸了

    【讨论】:

      猜你喜欢
      • 2016-08-05
      • 2018-04-30
      • 1970-01-01
      • 1970-01-01
      • 2019-09-15
      • 1970-01-01
      • 2016-11-27
      • 2021-05-03
      • 1970-01-01
      相关资源
      最近更新 更多