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.
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