web-dev-qa-db-fra.com

La doctrine Symfony Cache / orm / Proxies n'a pas pu ouvrir le flux /Proxy/AbstractProxyFactory.php sur la ligne 209

J'essaie de déplacer symfony vers l'hôte partagé.

J'ai déplacé la structure symfony vers/et mon dossier web est/public_html.

Avertissement: require (/ home/user/app/cache/prod/doctrine/orm/Proxies/__ CG__UserBundleEntityUser.php): échec d'ouverture du flux: aucun fichier ou répertoire de ce type dans/home/user/vendor/doctrine/common/lib/Doctrine/Common/Proxy/AbstractProxyFactory.php en ligne 209

Avertissement: require (/ home/user/app/cache/prod/doctrine/orm/Proxies/__ CG__UserBundleEntityUser.php): échec d'ouverture du flux: aucun fichier ou répertoire de ce type dans/home/user/vendor/doctrine/common/lib/Doctrine/Common/Proxy/AbstractProxyFactory.php en ligne 209

Erreur fatale: require (): Échec de l'ouverture requise '/home/user/app/cache/prod/doctrine/orm/Proxies/__CG__UserBundleEntityUser.php' (include_path = '.:/Opt/php55/lib/php') dans/home/utilisateur/fournisseur/doctrine/common/lib/Doctrine/Common/Proxy/AbstractProxyFactory.php on line 209

Cette erreur se produit uniquement dans l'environnement prod. L'exception n'est pas levée dans l'environnement dev.

J'ai essayé ce qui suit:

rm -rf /app/cache + chmod 777
app/console cache:warmup

J'utilise Symfony 2.8.3. Les répertoires suivants sont présents localement et sur le serveur:

LOCAL CACHE: -/annotations,/twig,/vich_uploader +/doctrine,/traductions

SERVEUR CACHE: -/annotations,/twig,/vich_uploader

Si je télécharge mon cache local sur le serveur, l'exception disparaît.

17
Luiz

Vous n'avez pas créé les classes proxy avant d'avoir essayé d'accéder à votre application. Cela se fait généralement par:

app/console cache:warmup --env=prod

La génération automatique des classes proxy est désactivée par défaut dans l'environnement prod. Vous pouvez activer la génération automatique de classes proxy similaires à l'environnement dev en ajoutant ceci à votre configuration:

app/config/config_prod.yml

doctrine:
    orm:
        auto_generate_proxy_classes:  true # <- change to true
        proxy_dir:            '%kernel.cache_dir%/doctrine/orm/Proxies'
        proxy_namespace:      Proxies
57
Nicolai Fröhlich