ubuntu 使用 www-data 执行 composer update 失败
项目放在github,做了一个webhook, 自己的服务器检测来自github的post,如果master有变动,就执行
<code>cd /path; git pull git@ooxxx.com</code>
上面拉取代码没有问题。
最后同时还检测master分支里的compoer.json有改动的时候就执行一次:
<code>php composer.phar update php composer.phar dump-autoload -o</code>
由于来自github的post数据是用apache指定的www-data 执行 git pull(部署的public key也是这个用户)发现并不能执行上面的composer操作,我在服务器上手动操作 composer update 出现下面提示:
···
sudo -u www-data php composer.phar update
Cannot create cache directory /root/.composer/cache/repo/http---packagist.phpcomposer.com/, or directory is not writable. Proceeding without cache
Cannot create cache directory /root/.composer/cache/files/, or directory is not writable. Proceeding without cache
Loading composer repositories with package information
Updating dependencies (including require-dev)
Generating autoload files
···
同样,我尝试全局安装composer,用 php /usr/local/bin/composer update 也是同样的错误。
在GG上面搜索,尝试了把 /root/.composer 目录改成www-data且 777
<code>root@localhost:~# ls -la ~/.composer/cache total 20 drwxrwxrwx 4 www-data www-data 4096 Dec 30 14:53 . drwxrwxrwx 3 www-data www-data 4096 Dec 30 14:53 .. drwxrwxrwx 2 www-data www-data 4096 Dec 30 14:53 files -rwxrwxrwx 1 www-data www-data 13 Dec 30 14:53 .htaccess drwxrwxrwx 3 www-data www-data 4096 Dec 30 14:53 repo</code>
除此之外 项目根目录的composer.phar和/usr/local/bin/composer 拥有者都设置成为了www-data ,问题依旧。
请教怎么解决。
ps:补充一下,用root 执行 composer update等操作没有任何问题。
回复内容:
项目放在github,做了一个webhook, 自己的服务器检测来自github的post,如果master有变动,就执行
<code>cd /path; git pull git@ooxxx.com</code>
上面拉取代码没有问题。
最后同时还检测master分支里的compoer.json有改动的时候就执行一次:
<code>php composer.phar update php composer.phar dump-autoload -o</code>
由于来自github的post数据是用apache指定的www-data 执行 git pull(部署的public key也是这个用户)发现并不能执行上面的composer操作,我在服务器上手动操作 composer update 出现下面提示:
···
sudo -u www-data php composer.phar update
Cannot create cache directory /root/.composer/cache/repo/http---packagist.phpcomposer.com/, or directory is not writable. Proceeding without cache
Cannot create cache directory /root/.composer/cache/files/, or directory is not writable. Proceeding without cache
Loading composer repositories with package information
Updating dependencies (including require-dev)
Generating autoload files
···
同样,我尝试全局安装composer,用 php /usr/local/bin/composer update 也是同样的错误。
在GG上面搜索,尝试了把 /root/.composer 目录改成www-data且 777
<code>root@localhost:~# ls -la ~/.composer/cache total 20 drwxrwxrwx 4 www-data www-data 4096 Dec 30 14:53 . drwxrwxrwx 3 www-data www-data 4096 Dec 30 14:53 .. drwxrwxrwx 2 www-data www-data 4096 Dec 30 14:53 files -rwxrwxrwx 1 www-data www-data 13 Dec 30 14:53 .htaccess drwxrwxrwx 3 www-data www-data 4096 Dec 30 14:53 repo</code>
除此之外 项目根目录的composer.phar和/usr/local/bin/composer 拥有者都设置成为了www-data ,问题依旧。
请教怎么解决。
ps:补充一下,用root 执行 composer update等操作没有任何问题。
www-data
没有权限读写 /root
目录。
改下缓存目录。
https://getcomposer.org/doc/03-cli.md#composer-cache-dir

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Laravel est un cadre PHP pour la création facile des applications Web. Il fournit une gamme de fonctionnalités puissantes, notamment: Installation: Installez le Laravel CLI globalement avec Composer et créez des applications dans le répertoire du projet. Routage: définissez la relation entre l'URL et le gestionnaire dans Routes / web.php. Voir: Créez une vue dans les ressources / vues pour rendre l'interface de l'application. Intégration de la base de données: fournit une intégration prête à l'emploi avec des bases de données telles que MySQL et utilise la migration pour créer et modifier des tables. Modèle et contrôleur: le modèle représente l'entité de la base de données et le contrôleur traite les demandes HTTP.

J'ai eu un problème difficile lorsque je travaille sur un projet avec un grand nombre d'entités de doctrine: chaque fois que l'entité est sérialisée et désérialisée, la performance devient très inefficace, entraînant une augmentation significative du temps de réponse du système. J'ai essayé plusieurs méthodes d'optimisation, mais cela ne fonctionne pas bien. Heureusement, en utilisant le SIDUS / Doctrine-Serializer-Bundle, j'ai résolu avec succès ce problème, améliorant considérablement les performances du projet.

Lorsque vous développez des sites Web à l'aide de CRAFTCMS, vous rencontrez souvent des problèmes de mise en cache de fichiers de ressources, en particulier lorsque vous mettez fréquemment à mettre à jour les fichiers CSS et JavaScript, les anciennes versions des fichiers peuvent toujours être mises en cache par le navigateur, ce qui fait que les utilisateurs ne voient pas les derniers changements de temps. Ce problème affecte non seulement l'expérience utilisateur, mais augmente également la difficulté du développement et du débogage. Récemment, j'ai rencontré des problèmes similaires dans mon projet, et après une exploration, j'ai trouvé le plugin wiejeben / artist-laravel-mix, qui a parfaitement résolu mon problème de mise en cache.

Ce qui est encore populaire, c'est la facilité d'utilisation, la flexibilité et un écosystème fort. 1) La facilité d'utilisation et la syntaxe simple en font le premier choix pour les débutants. 2) étroitement intégré au développement Web, excellente interaction avec les demandes HTTP et la base de données. 3) L'énorme écosystème fournit une multitude d'outils et de bibliothèques. 4) La nature active et la nature open source les adaptent à de nouveaux besoins et tendances technologiques.

Lors du développement d'une application Laravel, j'ai rencontré un problème commun mais difficile: comment améliorer la sécurité des comptes d'utilisateurs. Avec la complexité croissante des cyberattaques, une seule protection de mot de passe ne suffit plus pour assurer la sécurité des données des utilisateurs. J'ai essayé plusieurs méthodes, mais les résultats n'étaient pas satisfaisants. Enfin, j'ai installé la bibliothèque Wiebenieuwenhuis / Laravel-2FA via Composer et j'ai ajouté avec succès l'authentification à deux facteurs (2FA) à mon application, améliorant considérablement la sécurité.

Lors du développement d'une plate-forme de commerce électronique, il est crucial de choisir le bon cadre et les bons outils. Récemment, lorsque j'essayais de créer un site Web de commerce électronique riche en fonctionnalités, j'ai rencontré un problème difficile: comment créer rapidement une plate-forme de commerce électronique évolutive et entièrement fonctionnelle. J'ai essayé plusieurs solutions et j'ai fini par choisir le modèle de projet avancé de FECMALL (FECMALL / FBBCBASE-APP-ADVANDAD). En utilisant le compositeur, ce processus devient très simple et efficace. Le compositeur peut être appris par l'adresse suivante: Adresse d'apprentissage

J'ai un problème délicat lors du développement d'une application basée sur Symfony: comment valider efficacement le format de données JSON. Initialement, j'ai essayé d'utiliser le code de vérification manuel, mais cela était non seulement compliqué, mais aussi sujet aux erreurs. Après une certaine exploration, j'ai découvert un forfait compositeur appelé Ptyhard / Json-Schema-Bundle, qui a apporté une grande commodité et efficacité à mon projet.

Le Framework Laravel a des méthodes intégrées pour afficher facilement son numéro de version pour répondre aux différents besoins des développeurs. Cet article explorera ces méthodes, y compris l'utilisation de l'outil de ligne de commande Composer, l'accès à des fichiers .env ou l'obtention d'informations de version via le code PHP. Ces méthodes sont essentielles pour maintenir et gérer le versioning d'applications Laravel.
