Bonjour,
Je rencontre actuellement un problème en utilisant la console SF sur mon environnement de pré-production. Cela se produit lors de l'exécution de deux commandes liées à une même fonctionnalité que j'ai développée et testée avec succès sur mon environnement de développement. Pour info, je suis sous mac et mon environnement de développement est une instance Vagrant qui est à l'image des environnement de pré-production et de production.
Chaque commande s'arrête en affichant sa propre erreur : la première me dit qu'il y a un problème dans mon schéma Doctrine et la seconde me demande d'allouer 53Go au script (la bonne blague) J'ai bien entendu vérifié mon schéma Doctrine (la commande doctrine:schema:validate m'indique que le schéma est ok) et également ajouté des logs pour trouver d'éventuels problèmes de mémoire mais je n'ai pas vu d'erreur.
Je précise tout de suite que je n'ai pas oublié de vider les caches Doctrine avec les commandes du type doctrine:cache:clear-xxx et que j'ai même vidé memcached en entier. Autre point important : le front se porte très bien, je n'ai aucune erreur sur mes pages web en pré-production alors que ces commandes plantent.
Après avoir testé différentes choses, il s'avère que les commandes fonctionnent si je vide tous les caches juste avant (symfony, doctrine, memchached). Le soucis est qu'elles ne fonctionnent qu'une seule fois car la fois suivante re-problème. J'ai fini par désactiver mes références à memcached dans la config Doctrine et (surprise !) sans memchached cela fonctionne parfaitement (sans erreur de schéma et avec une utilisation normale de la mémoire).
Ma question : Avez-vous une idée de ce que j'aurai pu louper ? J'ai l'impression d'avoir mal configuré memcached dans le config.yml mais, comme jusque là je n'avais rencontré aucun problème avec, je ne suis un peu dubitatif. J'ai une configuration de memcached un peu particulière vu que ma pré-production et ma production sont sur le même serveur.
Pour cela, j'ajoute un préfixe à mes clés de la manière suivante dans le fichier config.yml :
Puis j'appelle memcached dans la config doctrine :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 services: memcached: class: Memcached calls: - [ addServers, [ %memcached.servers% ]] - [ setOption, [ '-1002', '%environment%' ]] # Memcached::OPT_PREFIX_KEY = -1002 doctrine.cache.memcached: class: Doctrine\Common\Cache\MemcachedCache calls: - [ setMemcached, [ "@memcached" ]]
J'espère avoir été suffisamment clair dans mes explications et que l'un de vous pourra m'apporter une réponse
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 doctrine: dbal: driver: pdo_mysql host: "%database_host%" port: "%database_port%" dbname: "%database_name%" user: "%database_user%" password: "%database_password%" charset: UTF8 default_table_options: charset: utf8 orm: auto_generate_proxy_classes: "%kernel.debug%" naming_strategy: doctrine.orm.naming_strategy.underscore auto_mapping: true metadata_cache_driver: type: service id: doctrine.cache.memcached query_cache_driver: type: service id: doctrine.cache.memcached result_cache_driver: type: service id: doctrine.cache.memcachedEt pour ceux qui auront lu jusqu'ici : merci !
Alphonse
Partager