J'ai essayé d'autres articles que j'ai trouvés en ligne, mais aucun ne semblait fonctionner correctement. Je travaille avec this . Et je me dirige vers la racine de celui-ci, qui est /var/www/
. Alors je fais composer install
et j'ai un composer.json
fichier là-dedans. Je reçois
[RuntimeException]
vendor does not exist and could not be created.
Voici le dossier
{
"name": "panique/php-login",
"type": "project",
"description": "A PHP login system embedded in a simple MVC framework",
"keywords": ["login", "auth", "user", "authentification", "mvc"],
"homepage": "https://github.com/panique/php-login",
"license": "MIT",
"authors": [
{
"name": "Panique",
"homepage": "http://careers.stackoverflow.com/panique",
"role": "Developer"
}
],
"support": {
"issues": "https://github.com/panique/php-login/issues",
"source": "https://github.com/panique/php-login"
},
"require":{
"php": ">=5.3.7",
"ircmaxell/password-compat": "1.0.*",
"phpmailer/phpmailer": "5.2.*",
"gregwar/captcha": "dev-master",
"facebook/php-sdk": "@stable",
"raveren/kint": "dev-1.0.0-wip"
}
}
Je ne sais pas vraiment où aller d'ici ...
Googleurs, n'utilisez pas composer avec Sudo:
Ajoutez votre utilisateur dans le groupe www-data (cette action vous oblige à vous déconnecter et à vous reconnecter)
Sudo usermod -a -G www-data `whoami`
Donnez les bonnes autorisations à/var/www
Sudo chown root:root /var/www
Sudo chmod 755 /var/www/
Accordez ces autorisations à votre projet
Sudo chown -R www-data:www-data /var/www/<project>
Sudo chmod -R 774 /var/www/<project>
au lieu de modifier les autorisations sur n'importe quel dossier, et lorsque vous utilisez la ligne de commande (CLI), utilisez simplement "Sudo" et il vous demandera un mot de passe, entrez le mot de passe de votre utilisateur root et tout devrait bien se passer. :) beaucoup plus sûr.
Modifier il n'est plus considéré comme une bonne pratique d'utiliser Sudo pour le compositeur. L'installation de composer globalement résoudra le problème. L'erreur avec les autorisations est généralement causée par la modification directe des fichiers sur le serveur. La conception Web sur votre serveur en direct n'est pas la solution.
L'approche de @Etienne Gautier est bonne.
Une autre solution consiste simplement à changer le mode et le propriétaire/groupe de /vendor
.
par exemple.
Sudo chown -R 775 /root-of-your-app/vendor/
Sudo chown -R $USER:$USER /root-of-your-app/vendor/