unlink() :在带有 symfony2 应用程序的 Pagobox 上没有这样的文件或目录

unlink() : No such file or Directory on Pagobox with symfony2 app

我想在 Pagodabox 上推送我的 symfony2 应用程序,但我有一条错误消息:

Warning: unlink(/data/app/cache/prod/annotations/54cb4f93b11de6.12347258nKaIkm): No such file or directory in /data/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/FileCacheReader.php line 214

我认为 Symfony2 无法访问缓存,所以我尝试定义权限(参见 http://symfony.com/doc/current/book/installation.html 'Setting up Permissions')但同样的问题。

我的文件夹'app/cache'被推送到宝塔上水化了

我对 Heroku 和 Platform.sh 也有类似的问题。

我的 pagodabox 配置:

global:
  env:
    - USE_INTL_ICU_DATA_VERSION: true

build:
  type: php
  version: 5.5
  before_exec:
    - "wget https://getcomposer.org/composer.phar"
    - "rm -f web/app_dev.php"
  after_exec:
    - "cp app/config/parameters.pagoda.yml.dist app/config/parameters.yml"
    - "php app/console --env=prod assetic:dump"
  exec:
    - "php composer.phar install --prefer-source --optimize-autoloader"

web1:
  type: php
  version: 5.5
  network_dirs:
    sotage1:
      - app/cache
      - app/logs
      - app/sessions
  httpd_document_root: web
  httpd_index_list:
    - app.php
  php_extensions:
    - apc
    - intl
    - mbstring
    - xsl
    - mysql
    - pdo_mysql
    - zip
    - curl
  php_short_open_tag: "0"
  php_magic_quotes_gpc: "0"
  php_register_globals: "0"
  php_session_autostart: "0"
  php_date_timezone: Europe/Paris

  before_deploy:
    - "rm -rf app/cache/*"
    - "php -d memory_limit=-1 app/console --env=prod --no-debug cache:clear"
    - "php -d memory_limit=-1 app/console --env=prod --no-debug cache:warmup"
    - "php app/console --env=prod --no-debug doctrine:migrations:migrate -n"
    - "php app/console --no-interaction doctrine:fixture:load"

我使用 symfony 2.6.3(与 symfony 2.7/ symfony3 相同的问题)。

有什么想法吗?

此致,

编辑:对本地生产环境的相同问题

好的,我已经在 dev-master 的版本上更新了 "doctrine/annotations" 并修复了。

https://github.com/doctrine/annotations/pull/51