--- title: "PHP : Composer (sous OpenBSD)" date: 2019-05-27T17:24:38+02:00 description: "Comment installer configurer PHP Composer sous OpenBSD" draft: false tags: ["PHP", "Composer", "OpenBSD"] --- ## Description Je ne présenterais ni [PHP](https://php.net), ni [composer](https://getcomposer.org)… Versions logicielles : * PHP : * 6.5 : 7.1.28, 7.2.17, 7.3.4 * 6.4 : 7.0.32, 7.1.22, 7.2.10 * Composer : * 6.5 : 1.8.3 * 6.4 : 1.6.3 ## Installation Les deux "outils" sont disponibles en tant que paquets, pour l'exemple :
`pkg_add -v php-7.2 composer` Après l'installation de **Composer**, faites une mise à jour de lui-même :
`composer self-update` ## Configuration De même, je ne détaillerais pas la configuration ni de PHP, ni de Composer, d'autant que par défaut pour ce dernier, il n'y a rien à faire en soit - *il est bien sûr possible de configurer certaines options…* Pour information, par défaut, Composer est configuré pour être exécuté avec php-7.0 sous la 6.4, et php-7.1 sous 6.5 - qu'il installe en dépendances *(avec femail\*)* Le problème qui se pose est que si vous utilisez php-7.2, voire php-7.3, Composer s'exécutera avec l'environnement PHP pour lequel il est paramétré par défaut - *logique, vous me direz !* Alors, **comment le contraindre ?** Très facilement :
`# sed -i -e "s/php-7.x/php-7.y/" "$(which composer)"`
où : * `7.x` est votre installation PHP par défaut, * et `7.y` la version de PHP que vous préférez utiliser, *telle que 7.2, par exemple…* Pour finir, on exécute ensuite un petit diagnostic : {{< code "web-php-composer-diagnose" shell >}} Tous les voyants sont **OK**, Composer a la dernière version en cours, et il s'exécute bien avec la version de PHP désirée - *(ici, dans cet exemple, la 7.2 !)* ## Dépannage ### Error: Do not run Composer as root/super user Et, oui, il n'est {{< color red >}}pas recommandé d'exécuter Composer avec des droits d'administrateurs{{}} - alors **ne le faites pas** ! Plus d'informations, sur : https://getcomposer.org/root ### Error: Missing pubkey for… Il est possible que lors du diagnostique, vous vous retrouvez avec ce message d'erreur sur fond rouge : `Checking pubkeys: FAIL`
`Missing pubkey for tags verification`
`Missing pubkey for dev verification`
`Run composer self-update --update-keys to set them up`
**Il vous dit quoi faire** !!! Donc : {{< code "web-php-composer-self-update-keys" shell >}} Là, le shell reste en attente jusqu'à ce que vous lui **copiez la clé demandée**, que vous trouverez sur https://composer.github.io/pubkeys.html, puisqu'il a même la gentillesse de vous le dire ! Si l'entrée saisie n'est pas correcte, vous aurez un message d'erreur : `Invalid input`, il vous sera redemandé de faire la saisie ! ---