Salut à tous,

J'ai découvert aujourd'hui un petit souci avec ma console CakePhp.

Depuis plusieurs mois, je n'ai bossé que sur un seul projet Cake, qui m'a pris beaucoup de temps. Appelons-le le projet A.

Et j'ai voulu aujourd'hui tester certains plugins, notamment le boostrap 3 en ligne de commande, et j'ai donc créé un nouveau dossier, installé un cake dedans, etc. Appelons ce nouveau projet le projet B.

Sauf que quand j'accède à ce projet B via la console et que je lance un cake, j'ai systématiquement comme "Current Paths" les infos relative au projet A, et ceci en permanence.

Peu importe que je sois :

  • à la racine de mes projets
  • dans le projet A
  • dans le projet B, qui a une install toute fraîche

Dès que je lance un cake ou un cake bake, j'ai systématiquement les infos relatives au projet A.

Et pire, si je vais dans le dossier du projet B et que je fais un cake -app /projets/B, ça fonctionne, le working directory est le bon.

Mais si derrière je lance un cake bake, il repart sur le A...

Du coup, impossible de faire quoique ce soit à la console à part sur le projet A.

C'est assez ennuyeux, parce que si je me retrouve à devoir vraiment bosser sur d'autres projets cake, je ne vois pas comment faire à la console.

Donc si quelqu'un a déjà eu le même comportement ou à une idée sur le pourquoi du comment, je suis preneur.

A noter que je suis sous Win7, environnement WAMP, et que j'ai ce bug que je passe par cmd, par le gitBash, Console2 etc.

J'ai même viré la console de cake des variables d'environnement Windows, mais elle continue de fonctionner à ma grande surprise. Donc je sèche complètement. Et je n'ai rien trouvé sur le net, que ce soit en anglais ou en français.

Merci d'avance,

7 réponses


Djibs
Réponse acceptée

Plop,
avec cette ligne de commande tu as moyen de lancer une console cake propre à chaque projet même si ils sont tous installés sur un seul et même serveur :

cd /var/www/tonProjetCake/app && Console/cake taCronParExemple

Pour lancer bake :

cd /var/www/tonProjetCake/app && Console/cake bake
Pakito
Auteur
Réponse acceptée

Petit up très surprenant pour indiquer que le souci est résolu : sous Windows, ça ne fonctionne toujours pas via l'invite CMD, ni via le Git Bash ou le shell Ruby.

En revanche, via Console 2, ça fonctionne. Je n'ai aucune idée du pourquoi et du comment, mais ça fonctionne bien.
Surtout que Console 2 est configuré pour appeler les terminaux indiqué ci-dessus.

Le sujet est donc résolu.

Et concernant l'accès SSH, les commandes indiquées par Citr3x fonctionnent pour lancer du CRON également, si ça peut en aider certains.

Voila !

Ta commande cake tu l'a ajouté au PATH ou tu va la chercher dans le dossier console ?

Pakito
Auteur

Elle était ajouté au PATH. Je l'ai viré désormais, mais même en allant la chercher à la console, ça persiste.

Même si j'ai un léger mieux depuis hier, puisque j'ai viré tous les repos Cake de mon PC puis je les ai récupéré via Git.
Désormais, si je vais chercher un cake.bat dans un repo particulier, j'ai des erreurs.
En revanche, si je spécifie dans mon PATH le cake.bat d'un autre repo, c'est cet autre repo qui devient le projet Cake par défaut dans la console.

J'ai l'impression que ce que l'on avait sur Cake 1.x.x avec la console contextualisée selon le repo du projet n'est plus d'actualité. J'ai juste du ne pas m'en apercevoir étant donné que j'étais complètement focus sur un seul projet.

J'ai été confronté au même problème quand j'ai commencé a réfléchir comment faire des cron avec cakephp, en fait tu t'en fous de la variable d'environnement tu n'as pas besoin de l'ajouter pour que ça fonctionne, au lieu de taper "cake" directement en ssh tu tapes "/var/www/tonprojet/app/console cake" et ça marchera tout pareil (ou un truc tu genres j'ai pu la ligne complète en tête je pourrais te redire demain)

Pakito
Auteur

Merci beaucoup ! Ca me sera utile en prod ça, étant donné que je n'ai qu'une install sur le serveur.

En revanche pour le dev en local, sous Unix ça devrait marcher, mais sous Windows je bloque encore. Mais ça n'est pas bloquant pour l'instant, je navigue jusqu'au repo et je lance la console contextuelle.

Oh ben je pense que sous windows c'est :

cd /chemin/vers/ton/app/www/tonSite/app && Console/cake bake