Je suis en train de déployer mon application Symfony à l'aide de Capaifony. Quand la Capifonie s'exécute d'Assetic: Dump, je reçois une exception d'exécution.
[RunTimeException]
Impossible d'écrire un fichier {Chemin} / Communiqués / 20130314071536 / App /../ Web / JS /. P> blockQuote>J'ai essayé d'exécuter la commande manuellement et obtenez la même exception.
Ensuite, j'ai essayé la commande en utilisant le paramètre -verbose et réalisa que tous les fichiers avec un chemin source qui contient un point dans celui-ci où écrit sans nom de fichier, uniquement l'extension. L'exception se présente lors de la frappe d'un nom de fichier sans extension (makefile dans ce cas) et d'essayer d'écrire le fichier "". (Seulement un point). P>sur un autre domaine sur le même serveur, j'ai le même code mais déployé manuellement. Là je ne reçois pas cette erreur. Donc, cela ne peut pas être un problème avec la version PHP. J'ai également vérifié les versions assibles et assibles-baguettes et ils sont les mêmes. P>
Quelle pourrait être la cause du travail assible différent? P>
EDIT:
J'ai oublié de mentionner que cela fonctionne également correctement sur ma machine de développement. P>EDIT 2:
Il commence à défailler le fichier P>EDIT 3:
Je viens de me rendre compte que cela fonctionne bien pour développer Environnement ... mais pour --env = prod, il donne au problème "/ p>Web / Bundles / Actifs / Actifs / Images / Icônes / AWS.PNG P> blockquote>
Un fichier que je n'utilise dans aucun modèle p>
stacktrace de l'erreur p>
xxx pré> config.yml p>
XXX PRE> EDIT 4:
Lors de la recherche d'AWS.png (le premier résultat à cassé) Il existe 2 résultats dans les fichiers de cache: p>xxx pré> EDIT 5:
Comme recommandé par @cheeseesemacfly, j'ai supprimé le Bundle HearSay_Require_Js et le problème est parti. Maintenant que je sais quoi que ce soit à blâmer pour l'erreur, je devrais savoir pourquoi il ne se produit que sur le serveur de stadification et lors du déploiement de la capécifonie. P> P>
3 Réponses :
Vérifiez vos autorisations, il semble que vous n'ayez aucune autorisation d'écriture sur regarder ici: http://symfony.com/doc/2.0/book/installation.html Configuration de la section Autorisations. P> Une question ... p> Pouvez-vous télécharger votre fichier deploy.rb config?
Avez-vous défini l'utilisateur, le mode root ...? p> Vous pouvez également être plus verbeux en motquant la ligne suivante p> Vous verrez étape par étape le déploiement p> p>
Ce n'est pas un problème de permission que j'ai essayé d'exécuter en tant que racine et même problème. Le problème principal est également que la commande supprime les noms de fichiers ne laissant que l'extension.
Essayez de recréer vos répertoires de cache.
Vous pouvez obtenir une sorte de comportement étrange lorsque votre cache est hors de synchronisation. p>
Pour effacer votre cache: P>
rm -rf app/cache/* sudo setfacl -R -m u:www-data:rwX -m u:`whoami`:rwX app/cache sudo setfacl -dR -m u:www-data:rwx -m u:`whoami`:rwx app/cache
Salut @ Daniel-p. Capifony utilise un répertoire de cache nouvellement créé pour chaque déploiier ... de sorte que cela ne puisse pas être.
Ce n'est pas effacé ... L'ensemble du projet entre dans un répertoire nouvellement créé qui est alors symbolique que le répertoire de cache est également nouveau.
Comme les autres utilisateurs ont dit, c'est un problème avec les autorisations. p>
espère qu'il aide p> rm -rf symfonyproject / app / cache / * code> p>
chmod -r 755 symfonyproject / code> p>
chmod -r 777 symfonyproject / app / cache / code> p>
chmod -r 777 symfonyproject / app / journaux / code> p>
Salut @ mirza-selimovich. Il ne s'agit pas des autorisations car j'ai essayé d'exécuter en tant que root et de la même chose ... Consultez mes mises à jour!
Il peut être utile que vous puissiez fournir les lignes où l'Assez est utilisé dans votre projet.
@cheesemacfly Vous voulez dire à partir des modèles de brindilles?
Si vous les utilisez uniquement dans vos modèles de brindilles, alors oui! (au moins sur celui où vous avez le problème)
@cheesemacfly Cela fonctionne à nouveau après la ré-installation de l'ensemble du domaine sur le serveur.
Je suis toujours surpris que les essais d'Asseïque pour traiter un makefile. Est-ce que cela est destiné?
@cheeseesemacfly non, ce n'est pas destiné ... ça m'a surpris aussi. Je suppose que cela traite tout dans le répertoire d'actifs
Échouer à nouveau ... J'ai testé en mode DEV avant et cela a fonctionné ... maintenant essayant avec --env = prod et échec à nouveau
Vous savez où est ce maquillage? Pouvez-vous poster le code asétique que vous soupçonnez-vous le processus?
Le fichier est web / paquets / actifs / actifs / fournisseurs / moment / moment / makefile mais je ne l'utilise pas dans n'importe quel modèle. Mettra à jour ma réponse avec la stacktrace de l'erreur.
Exécutez-vous la commande avec des droits complets sur le dossier / sous-dossiers?
@cheeseesemacfly Yep .. Pour m'assurer que j'ai essayé d'utiliser l'utilisateur root ... mais n'aide pas
Difficile de dire alors ... Pouvez-vous nous montrer les sections de vos modèles de brindille et config?
@cheeseesemacfly a mis à jour ma question avec config.yml
Votre projet a-t-il été démarré avec Symfony 2.0 et la mise à niveau vers 2.1?
@cheeseesemacfly Oui, mais il y a peu de temps que j'ai mis à niveau. Mais toujours la peine de vérifier s'il reste quelque chose. Que dois-je regarder?
Vraiment pas sûr, mais je dirais que le fichier
use_controller: false code> section de votre fichier
config.yml code> devrait ressembler davantage à celui ici: symfony.com/doc/2.1/reference/configuration/assetic.html
@cheeseesemacfly l'a essayé mais toujours le même problème :-(
Pouvez-vous suivre quel modèle cette erreur arrive et post le code ici?
@cheesemacfly L'erreur arrive sur les actifs qui ne sont utilisés dans aucun modèle
Nulle part dans votre code que vous ou sur le forfait que vous avez installé utilisez ce fichier
aws.png code>? Et si vous exécutez une recherche dans tous les fichiers de votre projet?
@cheeseesemacfly a juste fait un projet de recherche de projet et aucun résultat pour aws.png :-(
Pourrait-il être que une extension interfère? Je viens de me rendre compte que les fichiers qui sont faux sont ceux qui entendent l'audace_require_js.
Dans ma recherche précédente, j'ai eu des fichiers de cache exclus ... quand je les incluons, il y a 2 résultats ... j'ajoute cela à ma question.
Je ne connais vraiment pas ce paquet mais que si vous le supprimez comme un test? Quoi et où utilisez-vous-tu?
@cheesemacfly va essayer de le supprimer. Le paquet est destiné à être utilisé de requis.js ... Chargement de style AMD de JavaScript.
@cheeseesemacfly a supprimé l'extension et le problème est maintenant parti. C'est bon de savoir, mais j'ai besoin de ce paquet alors besoin de résoudre le problème :-(
Le fait que cela arrive que dans un environnement spécifique soit lié à l'utilisation de
? Code> comme dans
filtre = '? VotreFilter' code> ou vous n'avez nulle part dans votre projet ce genre de code? Pouvez-vous montrer d'utiliser un exemple d'utilisation que vous avez avec ce forfait?
@cheeseesemacfly Je n'utilise pas encore aucun filtre dans le projet ... mettra à jour ma question pour montrer l'utilisation du "mauvais" paquet
Quelque chose avec la permission peut-être?
@Chellem qui était ma première pensée, mais tout est déployé à l'aide du même utilisateur. Pour vous assurer que j'ai exécuté la commande en tant qu'utilisateur root et que cela n'a pas fait de différence :-(